一、死鎖的概念
多個執行緒的同步若設計不當,就會造成死鎖。死鎖是指多個執行緒共享某些資源時,都在等待對方釋放資源,導致程式停滯不前的情況。
死鎖會造成程式停滯不前,所以我們在寫多執行緒程式時一定要注意避免死鎖現象的發生。其實上面的問題很好解決,只要兩個執行緒以相同的順序存取臨界資源即可。 設定鎖定逾時時間, 使用此方法也可以來避免死鎖
二、死鎖的條件
互斥條件:資源不能被共享,只能由一個進程使用。
請求與保持條件:已經得到資源的進程可以再次申請新的資源。
非剝奪條件:已經被指派的資源不能從對應的程序中強制剝奪。
循環等待條件:系統中若干進程組成環路,改環路中每個進程都在等待相鄰進程正佔用的資源。
以上是死鎖的概念與死鎖的條件的詳細內容。更多資訊請關注PHP中文網其他相關文章!