回覆列表
-
1 # 東京有點冷
-
2 # 東京有點冷
一、解除死鎖常常採用兩種方法:1、資源剝奪法;2、撤消程序法。
二、處理死鎖的思路如下:
預防死鎖:破壞四個必要條件中的一個或多個來預防死鎖。
避免死鎖:在資源動態分配的過程中,用某種方式防止系統進入不安全的狀態。
檢測死鎖:執行時產生死鎖,及時發現思索,將程式解脫出來。
解除死鎖:發生死鎖後,撤銷程序,回收資源,分配給正在阻塞狀態的程序。
三、預防死鎖的辦法:
破壞請求和保持條件:
1、一次性的申請所有資源。之後不在申請資源,如果不滿足資源條件則得不到資源分配。
2、只獲得初期資源執行,之後將執行完的資源釋放,請求新的資源。
破壞不可搶佔條件:當一個程序獲得某種不可搶佔資源,提出新的資源申請,若不能滿足,則釋放所有資源,以後需要,再次重新申請。
破壞迴圈等待條件:對資源進行排號,按照序號遞增的順序請求資源。若程序獲得序號高的資源想要獲取序號低的資源,就需要先釋放序號高的資源。
擴充套件資料
形成死鎖的四個必要條件:
(1) 互斥條件:一個資源每次只能被一個程序使用。
(2) 請求與保持條件:一個程序因請求資源而阻塞時,對已獲得的資源保持不放。
(3) 不剝奪條件:程序已獲得的資源,在末使用完之前,不能強行剝奪。
(4) 迴圈等待條件:若干程序之間形成一種頭尾相接的迴圈等待資源關係。
一、解除死鎖常常採用兩種方法:1、資源剝奪法;2、撤消程序法。
二、處理死鎖的思路如下:
預防死鎖:破壞四個必要條件中的一個或多個來預防死鎖。
避免死鎖:在資源動態分配的過程中,用某種方式防止系統進入不安全的狀態。
檢測死鎖:執行時產生死鎖,及時發現思索,將程式解脫出來。
解除死鎖:發生死鎖後,撤銷程序,回收資源,分配給正在阻塞狀態的程序。
三、預防死鎖的辦法:
破壞請求和保持條件:
1、一次性的申請所有資源。之後不在申請資源,如果不滿足資源條件則得不到資源分配。
2、只獲得初期資源執行,之後將執行完的資源釋放,請求新的資源。
破壞不可搶佔條件:當一個程序獲得某種不可搶佔資源,提出新的資源申請,若不能滿足,則釋放所有資源,以後需要,再次重新申請。
破壞迴圈等待條件:對資源進行排號,按照序號遞增的順序請求資源。若程序獲得序號高的資源想要獲取序號低的資源,就需要先釋放序號高的資源。
擴充套件資料
形成死鎖的四個必要條件:
(1) 互斥條件:一個資源每次只能被一個程序使用。
(2) 請求與保持條件:一個程序因請求資源而阻塞時,對已獲得的資源保持不放。
(3) 不剝奪條件:程序已獲得的資源,在末使用完之前,不能強行剝奪。
(4) 迴圈等待條件:若干程序之間形成一種頭尾相接的迴圈等待資源關係。