我無法確定死鎖的兩個條件是如何彼此不同的。等待和等待看起來像循環等待的子集。持有和等待不同於循環等待?
0
A
回答
1
保持和等待和循環等待是死鎖發生時所滿足的條件。
這意味着,如果這兩個條件都不滿足,你會不會死鎖。
保持並等待該進程持有到一個資源/秒,其可以(或者可以不)可通過其它處理所需的條件的狀態。這裏關鍵的一點是,這個過程持有這些資源,並不會釋放它們,直到它獲得所請求的資源(被其他進程佔用)。
圓形等待條件指出存在的,其中每個進程等待其被保持通過另一資源的資源處理的鏈。在這種情況下,它並不一定意味着進程正在等待其他進程請求的資源,而是所有進程正在等待另一進程正在佔用的資源。
請參閱以下文章瞭解更多信息:
http://www.cs.yale.edu/homes/aspnes/pinewiki/Deadlock.html http://nob.cs.ucdavis.edu/classes/ecs150-1999-02/dl-cond.html
0
對於保持和等待,必須存在被控股已經分配給它的資源,同時等待當前正額外資源的處理由其他進程持有。而循環等待發生系統中的進程形成一個循環列表或鏈,列表中的每個進程都等待列表中下一個進程擁有的資源。要注意的
點:鏈(循環列表)的形成是必須爲循環等待這是不符合保持和等待的情況。
參考: http://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/deadlockCondition.htm
相關問題
- 1. 等待循環後
- 2. Javascript - 防止等待循環
- 3. 如何等待Vaadin循環?
- 4. 等待中斷循環
- 5. 等待循環完成
- 6. Python - 循環等待輸入
- 7. NodeJS循環等待回調
- 8. 如何等待while循環?
- 9. While循環終端等待
- 10. 等待未來在循環
- 11. 使用while循環等待?
- 12. Javascript循環 - 等待值
- 13. 異步等待不等待
- 14. 等待工作不等待
- 15. '等待$ COPROC_PID' 不等待
- 16. Asyncio,等待和無限循環
- 17. 等待HttpClient和do-while循環
- 18. 等待沒有循環的條件Python
- 19. Xamarin For循環不會等待onActvitityResult
- 20. Javascript超時循環不會等待
- 21. jQuery while循環不等待動畫
- 22. 流利的等待和WebDriver等待
- 23. 我無法等待等待?
- 24. 等待Task.WhenAll()與Task.WhenAll()等待()
- 25. SDL_RenderPresent()不等待vsync - 如何等待?
- 26. 等待/異步任務不等待
- 27. 異步等待WhenAll不等待
- 28. Windows Phone 8等待不等待
- 29. DART異步/等待不等待
- 30. 關於等待和notifyAll的
在我看來循環等待是保留的子集和等待! –