0

严格交替如何保证有限等待?如果有两个进程 P⁰ 和 P¹。假设 turn=0 但 P⁰ 不想进入 CS。P¹想要。它不会导致饥饿,那么如何保证有限的等待?

4

1 回答 1

0

严格交替意味着由于您描述的场景而存在无限等待。如果轮到进程 2 并且它不想进入临界区,那么进程 1 必须等待进程 2 进入和退出临界区,即使进程 1 进入是安全的。更糟糕的是,如果进程 2 在进程 1 等待时停止,那么进程 1 将永远等待。

严格交替的算法违反了进度和有界等待属性。

顺便说一句,大多数好的交替算法只在争用情况下才会这样做。例如,当临界区被争用时,彼得森算法在进程之间交替。但是,如果没有争用(如您描述的情况),那么即使不是轮到它,进程也可以进入临界区。因此,彼得森算法具有有限等待。

于 2021-03-22T04:10:45.733 回答