考点介绍:
在两个或者多个并发进程中,如果每个进程持有某种资源而又等待其它进程释放它或它们现在保持着的资源,在未改变这种状态之前都不能向前推进,称这一组进程产生了死锁。通俗的讲就是两个或多个进程无限期的阻塞、相互等待的一种状态。死锁是校招考察的重点对象。
专业课考点之死锁-相关题目及解析内容可点击文章末尾链接查看!
一、考点试题
1.操作系统什么情况下会死锁?产生死锁的四个条件?
解答:死锁:是指多个进程在运行过程中因争夺资源而造成的一种僵局。产生的原因......
2.悲观锁和乐观锁有什么区别?
解答:悲观锁:顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会 block 直到它拿到锁。正因为如此......
3.怎么防止死锁?
解答:死锁的四个必要条件:互斥条件:进程对所分配到的资源不允许其他进程进行访问,若其他进程访问该资源,只能等待,直至占有该资源的进程使用完成后释放该资源......
4.在Linux资源静态分配法可以预防死锁的发生,因为使死锁四个条件中的()不成立。
A.互斥条件
B.请求和保持条件
C.不可剥夺条件
D.环路等待条件
正确答案是 B 静态分配资源,所有进程在开始运行之前,一次性地申请其在整个运行过程所需的全部资源......
二、考点文章
1.【校招VIP】死锁及其检测
先说解决方式, 利用hook, 在加锁和解锁的时候做一些记录。 比如哪个线程在用,等等。 保存好, 有了好的数据结构,就得有好的算法去分析......
2.【校招VIP】死锁
所谓死锁就是一个进程集合中的多个进程因为竞争资源,而造成的互相等待现象。很显然,如果没有外力的作用,那么死锁涉及到的各个进程都将永远处于封锁状态......
3.【校招VIP】什么是死锁及预防具体措施
A线程持有独占锁a,去请求B线程的资源,而此时,B线程持有独占锁b,去请求A的资源。两个线程互相持有对方的锁,发生了互斥,从而产生线程阻塞,此为死锁......
三、考点视频
TCP建立和结束连接的过程
本题是开发类一线校招专业课必考题之一,需要在理解TCP协议的基础上,记忆过程中的状态码、字段和标志位,最好是能够在理解的前提下,背下状态图......
专业课考点之死锁-相关题目及解析内容可点击下方链接查看:
专业课考点之死锁-移动端链接
专业课考点之死锁-PC端链接