首頁 >後端開發 >C#.Net教程 >死鎖的概念與死鎖的條件

死鎖的概念與死鎖的條件

零下一度
零下一度原創
2017-06-23 16:16:222684瀏覽

一、死鎖的概念

     多個執行緒的同步若設計不當,就會造成死鎖。死鎖是指多個執行緒共享某些資源時,都在等待對方釋放資源,導致程式停滯不前的情況。

     死鎖會造成程式停滯不前,所以我們在寫多執行緒程式時一定要注意避免死鎖現象的發生。其實上面的問題很好解決,只要兩個執行緒以相同的順序存取臨界資源即可。 設定鎖定逾時時間, 使用此方法也可以來避免死鎖


二、死鎖的條件

互斥條件:資源不能被共享,只能由一個進程使用。

請求與保持條件:已經得到資源的進程可以再次申請新的資源。

非剝奪條件:已經被指派的資源不能從對應的程序中強制剝奪。

循環等待條件:系統中若干進程組成環路,改環路中每個進程都在等待相鄰進程正佔用的資源。

 

以上是死鎖的概念與死鎖的條件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn