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