锁机制

产生死锁的原因

(1)竞争系统资源 

(2)进程的推进顺序不当

产生死锁的四个必要条件

(1)互斥条件:进程对所分配到的资源不允许其他进程进行访问,若其他进程访问该资源,只能等待,直至占有该资源的进程使用完成后释放该资源

(2)请求和保持条件:进程获得一定的资源之后,又对其他资源发出请求,但是该资源可能被其他进程占有,此事请求阻塞,但又对自己获得的资源保持不放

(3)不可剥夺条件:是指进程已获得的资源,在未完成使用之前,不可被剥夺,只能在使用完后自己释放

(4)环路等待条件:是指进程发生死锁后,必然存在一个进程--资源之间的环形链

举例说明:两个人每人有两个手,一个人的两个手里各自拥有一个苹果时,才能满足。

现在只有两个苹果,每个人已经获得了一个苹果,然后都想不放开,又都想从对方手里再获取苹果,就会造成死锁。

 

原文地址:https://www.cnblogs.com/shijianchuzhenzhi/p/9133126.html