20170925_死锁的产生和消除

来源:互联网 发布:装修公司源码 编辑:程序博客网 时间:2024/06/05 20:16

20170925_死锁的产生和消除


1、死锁的概念:

所谓的“ 死锁 ”,是指多个进程因为竞争资源而造成的一种僵持状态(互相等待状态),若无外力作用,这些进程都无法继续向前推进。

2、死锁产生的原因:

一个是系统资源的竞争,一个是进程向前推进的顺序非法。

3、死锁产生的四个必要条件:

死锁产生的四个必要条件,只要其中之一不满足,死锁就不会发生。

(1)互斥条件。

进程要求对所分配的资源进行排他性访问,即在一段时间内某资源仅为某一个进程所占有,此时若有其他的进程来访问该资源,则这个请求进程会被阻塞(等待)在这个资源上。

(2)不可剥夺条件。

进程所拥有的资源在自己没有使用完毕之前,其他进程不能够把该资源强行夺走,即只能由获得该资源的进程主动释放掉才可以被其他进程使用。

(3)请求和保持条件。

进程每次在请求它需要的新资源的时候,在等待这个新资源被分配给自己的这个过程中,该进程一直占有它已经得到的其他资源。

(4)循环等待条件。

存在一种进程资源的循环等待链,链中每个进程已获得的资源同时被链中下一个进程所请求。


原创粉丝点击