死锁产生的条件+排除死锁的方法
生活随笔
收集整理的這篇文章主要介紹了
死锁产生的条件+排除死锁的方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
問:請問進(jìn)程調(diào)度中產(chǎn)生死鎖的必要條件是什么?解決死鎖有幾種辦法
答:
產(chǎn)生死鎖的四個必要條件:
(1)互斥條件:一個資源每次只能被一個進(jìn)程使用。
(2)請求與保持條件:一個進(jìn)程因請求資源而阻塞時,對已獲得的資源保持不放。
(3)不剝奪條件:進(jìn)程已獲得的資源,在末使用完之前,不能強(qiáng)行剝奪。
(4)循環(huán)等待條件:若干進(jìn)程之間形成一種頭尾相接的循環(huán)等待資源關(guān)系。
這四個條件是死鎖的必要條件,只要系統(tǒng)發(fā)生死鎖,這些條件必然成立,而只要上述條件之一不滿足,就不會發(fā)生死鎖。
死鎖排除的方法:
(1)撤消陷于死鎖的全部進(jìn)程;
(2)逐個撤消陷于死鎖的進(jìn)程,直到死鎖不存在;
(3)從陷于死鎖的進(jìn)程中逐個強(qiáng)迫放棄所占用的資源,直至死鎖消失。
(4)從另外一些進(jìn)程那里強(qiáng)行剝奪足夠數(shù)量的資源分配給死鎖進(jìn)程,以解除死鎖狀態(tài)。
轉(zhuǎn)載于:https://www.cnblogs.com/bluestorm/p/3297025.html
總結(jié)
以上是生活随笔為你收集整理的死锁产生的条件+排除死锁的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS6学习笔记(四)
- 下一篇: AppController