2016-12-29 87 views

回答

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