的第一個要求是晶瑩剔透的,因爲Mutal排除的主要目標是......嗯,相互排斥,對不對?
從某種意義上說,第二個要求(進展)是誤用。假設一個給定的系統有一堆併發運行的進程,比如說P1,P2,P3,P4和P5,並且它們都沒有執行臨界區(CS)。最終,在給定的時刻,進程P1,P2和P3變得對同時執行CS感興趣。在這種情況下,進展要求規定,只有P1,P2和P3有權選擇誰進入CS(決不允許P4和P5會影響這樣的決定)。順便說一下,這個要求也決定了這樣一個決定不能永久存在,因此它的名字(「進展要求」)我認爲這是一個非描述性的術語;「封閉要求」更合適,因爲只有感興趣的過程纔有權決定誰將執行CS)。我的理解是,這項要求旨在防止活鎖(所有流程都是「相互交流」,「彼此執行,相互交替」)。
第三個要求(有界等待)與第二個要求密切相關。雖然進展要求說有關過程必須在有限的時間內作出決定,但有界等待規則規定任何過程都不得不無限期地等待,從而防止飢餓:在Pn提出進入CS的請求之後,只有一個有限數量的進程可以繞過Pn。鑑於其定義並與第二個相反,這一要求被命名爲(有界等待或有時是有界的旁路,如here)。 如果你懂葡萄牙語,在這裏不用我發現here定義:
Øprimeiro requisitoéóbvio,興趣點éØobjetivo本金達solução。 O segundo diz que senãoháprocesso dentro deregiãocríticae existem processos desejando entrar,entãoapenas os processos que desejam entrar participam nadecisãode quem entra e essadecisãonãoé postergada indefinidamente。第三個要求是,希望進入關鍵區域 的流程不應該無限期地輪流等待;也就是說,當有一些過程 等待進入,應該有對的次數限制,在和 其他進程離開臨界區。