的第一个要求是晶莹剔透的,因为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。第三个要求是,希望进入关键区域 的流程不应该无限期地轮流等待;也就是说,当有一些过程 等待进入,应该有对的次数限制,在和 其他进程离开临界区。