死鎖相關(guān)

1、產(chǎn)生死鎖的必要條件:

缺一不可

  • 互斥條件:進(jìn)程要求對所分配的資源進(jìn)行排它性控制,即在一段時間內(nèi)某資源僅為一進(jìn)程所占用。
  • 請求和保持條件:當(dāng)進(jìn)程因請求資源而阻塞時,對已獲得的資源保持不放。
  • 不剝奪條件:進(jìn)程已獲得的資源在未使用完之前,不能剝奪,只能在使用完時由自己釋放。
  • 環(huán)路等待條件:在發(fā)生死鎖時,必然存在一個進(jìn)程--資源的環(huán)形鏈。

2、如何避免死鎖?

打破其中某一條件

  • 資源一次性分配:一次性分配所有資源,這樣就不會再有請求了:(破壞請求條件)
  • 只要有一個資源得不到分配,也不給這個進(jìn)程分配其他的資源:(破壞請保持條件)
  • 可剝奪資源:即當(dāng)某進(jìn)程獲得了部分資源,但得不到其它資源,則釋放已占有的資源(破壞不可剝奪條件)
  • 資源有序分配法:系統(tǒng)給每類資源賦予一個編號,每一個進(jìn)程按編號遞增的順序請求資源,釋放則相反(破壞環(huán)路等待條件)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容