產生死鎖的必要條件

~爲了便於收藏,讓我轉貼吧

產生死鎖的原因

產生死鎖的主要原因可歸結爲以下兩點。
(1)競爭資源
(2)進程推進順序不當

 

產生死鎖的必要條件

(1)互斥條件
一個資源在一段時間內只能被一個進程所使用,具有排它性。
(2)請求和保持條件
一個進程在請求新資源而阻塞時,對已獲得資源又保持不放。
(3)不剝奪條件
進程已獲得的資源,在未使用完之前不能被剝奪,只能在使用完時由自己釋放。
(4)環路等待條件
在發生死鎖時,必然存在一個進程--資源的環形鏈。即進程集合{P1,P2,...,Pn}中的P1正在等待P2佔用的資源,P2正在等待P3佔用的資源,...,Pn正在等待P1佔用的資源。

只要同時具備上述4個必要條件,系統就會發生死鎖,只要上述條件之一不滿足,系統就不會發生死鎖。

 

www.chinaEDA.cn

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章