昨天的面试,很痛苦卷子做了3个小时,20页厚的一本<wbr></wbr>,足足XXXKg。每张有7-8道题目,题目涉及之广令人不寒而<wbr></wbr>栗。做完套题唯一感觉只有一个,看起来很熟悉的知识<wbr></wbr>,往往因为对细节不够了解而使得答题是比较吃力。以下主要是回忆<wbr></wbr>了有关操作系统原理方面的知识,涉及进程、线程、线程同步<wbr></wbr>、死锁等。如果不能理解其含义请自己参考操作系统<wbr></wbr>-内核处理设计原理P204,或者去google下scan<wbr></wbr>。此套题目涉及较多关于thread线程内容,这也是面试大公司<wbr></wbr>Java程序员时必问之处。希望能引起各位的重视<wbr></wbr>,在这个方面多看一些例子确切的理解多线程开发的前因后果<wbr></wbr>,后续测试题目将在下周三参加复试之后,归纳总结后与大家一起探<wbr></wbr>讨。
进程与线程的区别?
额外知识:
windows3.x下最小的运行单位是进程和在windows/NT以上版本最小运行单位是线程,而每一个独立的进程可以由多<wbr></wbr>个进程组成。
什么是线程?
线程是指进程内的一个执行单元,也是进程内的可调度实体.
什么是进程?
进程的基本功能-执行驻留在主存中的机器指令,这些指令以程序的<wbr></wbr>形式提供。
线程与进程的区别:
(1)地址空间:进程内的一个执行单元;进程至少有一个线程<wbr></wbr>;它们共享进程的地址空间;而进程有自己独立的地址空间;
(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线<wbr></wbr>程共享进程的资源
(3)线程是处理器调度的基本单位,但进程不是.(应该是在Windows3.x以上的版本中)
(4)二者均可并发执行.
线程同步是指?
安全访问可以控制线程间的同步不发生互斥。
线程同步用途:是确保多个线程对共享资源进行互斥访问。
什么是死锁?
死锁可以被定义成一组竞争系统资源或互相通信的进程间相互的<wbr></wbr>“永远”阻塞。
如何判断何谓死锁,可能发生死锁的三个条件?
三个必要不充分条件:
(1)互斥:一次只有一个进程可以使用资源
(2)占有且等待:当一个进程等待其他资源时,可以占有已分配的<wbr></wbr>资源
(3)非剥夺:不可能从已经占有资源的进程手中强行剥夺资源
实际发生死锁的条件:
(4)循环等待:存在一个封闭的进程链,使得每个进程至少占有
链中下一个进程 所需要的一个资源
假设前三个条件存在,可能发生一系列事件会导致不可解决的循环等<wbr></wbr>待,这个即是死锁的定义
防止死锁发生的策略与办法?
可以把死锁防止分为两类:
(1)间接的死锁防御方法,即防止三个必要条件中的任何一个发生
(2)直接的死锁防御方法,即防止循环等待发生
原来这里涉及多线程Thread,以前没看过,呵呵......
什么是原子性、一致性?
原子性:所谓原子性,是指一个共享资源的所有属性在任何时刻都是<wbr></wbr>一起变化、密不可分的
一致性:所谓一致性,是指一个共享资源的所有属性在变化之后一定<wbr></wbr>会达到一个一致的状态
分享到:
相关推荐
在IT行业中,绘制地图是一项重要的技能,特别是在地理信息系统(GIS)和数据分析领域。"基本绘制地图的方法实现"这个主题主要涵盖了地图制作的基础知识,适用于初学者。以下将详细阐述地图绘制的基本步骤、常用工具...
MOXA NPORT5630是一款适用于工业自动化的串口设备联网服务器,它支持RS-422/485串口,能够将串行设备连接到以太网网络。该设备提供了多种配置方式,包括通过LCD面板进行IP地址配置、通过Web页面、telnet以及Windows...
标书全流程checklist 启动投标 制作标书 标书封装
<项目介绍> - 四连杆机构的仿真 --m3_1.m: 位置问题求解 --m2_1.m: 速度问题求解 --FourLinkSim.slx: Simlink基于加速度方程的仿真 --FourLinkSim2.slx: Simscape简化模型仿真 --FourLinkSim3.slx: Simscape CAD模型仿真 - 不懂运行,下载完可以私聊问,可远程教学 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
ridge_regression 用于岭回归的python代码(已实现以预测下个月的CO2浓度) 资料可用性 文件 Ridge.py :标准函数和Ridge回归函数window_make.py :使用滑动窗口方法制作大小为p(窗口大小)的时间序列列表。 Final_version.ipynb :使用Co2数据对代码进行实验
python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。
功能说明: 系统主要分为系统管理员和用户两个部分,系统管理员主要功能包括首页,个人中心,用户管理,节日风俗管理,饮食风俗管理,服饰风俗管理,礼仪风俗管理,信仰风俗管理,建筑风俗管理,我的收藏管理,留言板管理,论坛管理,系统管理。 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea Maven包:Maven3.3及以上 服务器:tomcat7及以上
中国城市温度历史数据(2000-2020)-最新全集.zip
中国土地利用现状遥感监测数据(1km)-最新.zip
python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值
java资源Google API for Java提取方式是百度网盘分享地址
中国分地区地级市泰尔指数数据集(2000-2019).zip
环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea Maven包:Maven3.3及以上 服务器:tomcat7及以上
环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea Maven包:Maven3.3及以上 服务器:tomcat7及以上
功能说明: 系统功能实现了首页,房源信息,交流论坛,公告资讯,个人中心,后台管理等功能。系统的后台实现了个人中心,用户管理,房东管理,房源类型管理,房源信息管理,在线咨询管理,预约信息管理,订单信息管理,签订信息管理,申请退租管理,交流论坛,系统管理等功能的添加、删除和修改。 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea Maven包:Maven3.3及以上 服务器:tomcat7及以上
yolo算法-电线杆数据集-1493张图像带标签-.zip;yolo算法-电线杆数据集-1493张图像带标签-.zip;yolo算法-电线杆数据集-1493张图像带标签-.zip
安装包eclipse-jee-neon-3-win32-x86_64提取方式是百度网盘分享地址
PartSegCore_compiled_backend-0.12.0a0-cp36-cp36m-win_amd64.whl.rar
python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。