1

这是彼得森的解决方案

我也对while循环部分感到困惑,如果while中的条件不正确,那么它将如何进入CS?

这个彼得森的解决方案如何满足互斥、无饥饿和进步条件的条件?

谢谢!

4

1 回答 1

0

这里的 while 循环就像一个“陷阱”。如果条件为真,则意味着其他进程在关键部分内。看P0,如果轮到1,flag为真则暗示P1在CS里面,当P1用完CS后,将flag标记为False,这样就使得while循环中的条件错误的。所以P0会进入CS。

为了进入 CS,代码必须使 while 循环为“假”。我希望它有所帮助。

于 2020-02-08T15:03:50.360 回答