題組內容
五、
⑵解決程序的關鍵部分之問題時,必須滿足那三個重要條件?(15 分)
詳解 (共 1 筆)
詳解
解決程序的關鍵部分(Critical Section)問題時,必須滿足以下三個重要條件:
1. 互斥(Mutual Exclusion)
確保在任意時刻最多只有一個進程或線程進入關鍵部分,防止同時訪問共享資源造成數據不一致。
2. 進程(進入區域)不得被阻塞(Progress)
如果沒有進程在關鍵部分內,且有進程希望進入關鍵部分,則那些希望進入關鍵部分的進程必須能夠及時進入,不能無限期地等待。
3. 有限等待(Bounded Waiting)
確保每個進程在有限次數的嘗試後能夠進入關鍵部分,防止某個進程被無限期地延遲(即避免飢餓現象)。