に私は、相互の除外についての例をいくつか読んだことがある、と私は私に手渡し、次の例を除いて、それらのほとんどの実行を理解することができます:Unclearanceは相互排他例
boolean[] flag = new boolean[2];
1 while-条件は他のプロセスのフラグ[n]状態に依存します。 したがって、たとえばP1
が重要なセクションに入るようにするには、flag[0]
とflag[1]
の両方をtrue
に設定する必要があります。 flag[0]
とflag[1]
セットでtrueに両方のプロセスがwhile(flag[n])
条件とrace-を渡すので、これは正しいことができませんが
P1 - > flag[1] = true
while(flag[0]) // flag[0] is still state-undeclared
P2 -> flag[0] = true // so P0 must set it true(?)
critic1();
while(flag[1])
critic2();
:
私interpertationによると、全体の実行は次のようになりする必要がありますそれでも状態が発生する可能性があります。私は何を誤解していますか?
お気軽にお問い合わせください。 –