了解有关死锁的相关概念
1 死锁的概念
一组进程中每个进程都无限等待被该组进程中另一进程所占有的资源,而处于的一种僵持局面,若无外力作用,它们都无法向前推进,这种现象称为进程死锁(Deadlock)
假设两个小孩在一起玩耍,一个在玩皮球,另一个玩自动步枪,如果这两个小孩都要对方手中的玩具,而又不肯先放掉自己拿着的玩具,这时就发生了僵持局面。
2 死锁产生的原因
竞争资源引起进程死锁
进程推进顺序不当引起死锁
产生死锁的4个必要条件
互斥条件:涉及的资源是非共享的。也就是说在一段时间内某资源仅为一个进程所占有。此时若有其他进程请求该资源,则请求进程只能等待。
不剥夺条件:不能剥夺进程拥有资源。进程所获得的资源在未使用完毕之前,不能被其他进程强行夺走,即只能由获得该资源的进程自己来释放。
请求与保持条件:进程在等待一新资源时继续占有已分配的资源。
循环等待条件:存在一种进程的循环链,链中的每一个进程已获得的资源同时被链中的下一个进程所请求。
- 本文作者: étoile
- 版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!