轉發:
http://www.java265.com/JavaMianJing/202205/16538751313564.html
下文筆者講述避免死鎖的方法分享,如下所示:
死鎖會使程式處于無法正常的對外提供服務狀態, 下文筆者將講述死鎖發生的必備條件和避免死鎖的方法
死鎖發生的必備條件
互斥條件:
一個資源每次只能被一個行程使用
請求與保持條件:
一個行程因請求資源而阻塞時,對已獲得的資源保持不放
不剝奪條件:
行程已獲得的資源,在末使用完之前,不能強行剝奪
回圈等待條件:
若干行程之間形成一種頭尾相接的回圈等待資源關系
避免死鎖的方法
方法1
加鎖順序(執行緒按照一定的順序加鎖)
方法2:
加鎖超時時間(執行緒嘗試獲取鎖的時候加上一定的時間,
超過時間則放棄對該鎖的請求,并釋放自己占有的鎖)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/482950.html
標籤:其他
