“并发数据对象的无等待实现是指保证任何进程可以在有限步骤内完成任何操作,而不管其他进程的执行速度。” www.cs.brown.edu/~mph/Herlihy91/p124-herlihy.pdf 让我们从宇宙中选择一个操作op。
(1)这个定义是否意味着:“每个进程以相同的有限步数n完成某个操作op。”?
(2)还是它意味着:“每个进程都可以在任意有限步数内完成某个操作op。因此,一个进程可以在k步中完成op,另一个进程可以在j步中完成op,其中k!= j。”?
仅通过阅读定义,我会理解意义(2)。然而,对我来说这毫无意义,因为在k步和k + m步中执行op的进程符合该定义,但是m步可能是等待循环。如果意思(2)是正确的,那么有人能向我解释一下,为什么这描述了无等待吗?
与(2)相比,意义(1)将保证op在相同的步骤k中执行。因此,不能有任何额外的步骤m是必要的,例如在等待循环中。
哪个含义是正确的?为什么?
非常感谢,
sema