我很努力地了解彼得森的算法如何通过初始设置避免两个过程的无限循环,如下所示 https://en.m.wikipedia.org/wiki/Peterson%27s_algorithm。
如果进程交替切换其Flag值,我可以看到算法正在工作,但是据我的讲师说,如果是BIG if。如果我们不能假设标志之间会发生这种交替,那么操作系统将如何防止死锁?
我一直在检查不同的资源,例如Stallings书籍,以及Stack中的多个线程,例如Trying to understand the Peterson's Algorithm,但是它们都没有解决我的特定问题(可能是因为这是一个非常基本的问题!)