1. 程式人生 > >第10章 避免活躍性危險

第10章 避免活躍性危險

一個 條件 生死 有向圖 釋放資源 訪問 共享資源 檢測 求和

1.死鎖

檢測死鎖:在等待關系的有向圖中搜索循環。

產生死鎖的4個必要條件:

1)互斥條件:共享資源獨占訪問

2)不可剝奪條件:不能強制其他線程釋放資源

3)請求和保持條件:在等待申請的新的資源時,繼續占有已分配的資源

4)循環等待條件:發生死鎖時,存在一個循環等待的隊列{P1, P2, P3, ...} P1等待P2占有的資源,P2等待P3占有的資源,...,Pn等待P1占有的資源。

死鎖的預防:

1.資源一次性分配

2.當某進程新申請的資源未獲取時,釋放已獲取的資源

3.資源有序分配,給資源分配編號,每個資源按編號遞增請求資源,釋放則相反

第10章 避免活躍性危險