1
我知道,一個圓形的請求可能會導致死鎖,但我想知道如果下面也將導致死鎖...資源分配圖的死鎖檢測
我不清楚,但我也覺得如果「由於兩個或更多程序/過程兩者需要另一個在完成操作之前需要來自另一個的響應而失敗或無法進行」
這是否意味着如果過程2和過程4都需要R7,這將會造成僵局? (多個進程請求的資源R5和R4也一樣)
我知道,一個圓形的請求可能會導致死鎖,但我想知道如果下面也將導致死鎖...資源分配圖的死鎖檢測
我不清楚,但我也覺得如果「由於兩個或更多程序/過程兩者需要另一個在完成操作之前需要來自另一個的響應而失敗或無法進行」
這是否意味着如果過程2和過程4都需要R7,這將會造成僵局? (多個進程請求的資源R5和R4也一樣)
最簡單的死鎖圖表是在圖片中使用符號時,兩個進程都需要相同的兩個資源。例如,如果在您的示例進程P2
依賴於資源R5
,則可能會發生死鎖。假設P2
和P4
均請求R7
和R5
,即P2
鎖R7
和P4
鎖R5
。然後P2
正在等待R5
和P4
正在等待R7
,也就是說,每個正在等待對方釋放一個鎖。這是一個最小的例子。
在你的情況下,沒有這種可能性,因爲兩個不同的進程永遠不會共享兩個資源。唯一有問題的是P4
。如果存在與P2
或P7
的爭用,那麼說,或者P4
將首先執行(沒問題),否則先執行另一個進程,解鎖資源並允許執行P4
(同樣沒有問題)。