死锁的条件,预防,避免,检测与消除
推荐观看:
https://www.cnblogs.com/xiaoxi/p/8311034.html
死锁产生的四个条件:
死锁是指两个或两个以上线程在执行过程中,由于竞争资源或进程间彼此通信而造成的一种阻塞现象,若无外力作用,他们将永远无法进行下去。
1、互斥条件
一个进程占有一个资源这时别的进程对该资源进行申请时,进入等待状态
2、请求与保持
一个进程拥有一个资源,这时它又向系统申请一个资源,而该资源却被其他进程所拥有,这时候它原本拥有的资源保持不释放。
3、不可剥夺条件
一个进程拥有的资源在未使用完时其他线程不能够强行剥夺该资源,只能该进程主动释放
4、循环等待条件
若干个进程间形成首尾相接,循环等待资源的情况
死锁如何预防
破坏四个条件中的其中几个。
预防死锁:通过设置某些限制条件,破坏四个产生条件之一,防止死锁的发生。
避免死锁:在资源动态分布过程中,用某些方法防止系统进入不安全状态。
检测死锁:允许系统运行过程中发生死锁,但可设置检测机构及时检测死锁的发生。
1、破坏互斥条件

浙公网安备 33010602011771号