P1 と P2 は、クラスタ内のプロセスまたはノードです。f1 と f2 はフラグです。強力なメモリ モデルがあり、両方のプロセスがいつでも再起動される可能性があり、プロセスを再起動するとそのフラグがクリアされると仮定すると、これは私が思いついたアルゴリズムであり、まだ破ることはできませんでしたが、理論的に証明されておらず、ピーターソンのものと比べると単純すぎるように見えます。
P1 start:
set f1
if f2 set then clear f1, wait some, goto start
else enter critical section
do whatever
clear f1
P2 start:
set f2
if f1 set then clear f2, wait some, goto start
else enter critical section
do whatever
clear f2
誰でも流れを見ることができますか?プロセスの1つがセクションにすばやく再入力することで他のプロセスを枯渇させる可能性があることを除いて?