死锁的条件,预防,避免,检测与消除

死锁产生的四个条件:

1、互斥条件

一个进程占有一个资源这时别的进程对该资源进行申请时,进入等待状态

2、请求与保持

一个进程拥有一个资源,这时它又向系统申请一个资源,而该资源却被其他进程所拥有,这时候它原本拥有的资源保持不释放。

3、不可剥夺条件

一个进程拥有的资源在未使用完时其他线程不能够强行剥夺该资源,只能该进程主动释放

4、循环等待条件

若干个进程间形成首尾相接,循环等待资源的情况

死锁如何预防

 破坏四个条件中的其中几个。


预防死锁:通过设置某些限制条件,破坏四个产生条件之一,防止死锁的发生。

避免死锁:在资源动态分布过程中,用某些方法防止系统进入不安全状态。

检测死锁:允许系统运行过程中发生死锁,但可设置检测机构及时检测死锁的发生。

1、破坏互斥条件

猜你喜欢

转载自www.cnblogs.com/hjdk05/p/12431393.html