2

前述の相互排除問題に対する次の解決策は、1966 年に H. Hyman によって Communications of the ACM で公開されました。次のように、疑似 Algol でリストされました。

  1 Boolean array b(0;1) integer k, i,
  2 comment process i, with i either 0 or 1, and k = 1-i;
  3 C0: b(i) := false;
  4 C1: if k != i then begin;
  5 C2: if not b(1-i) then go to C2;
  6     else k := i; go to C1 end;
  7     else critical section;
  8     b(i) := true;
  9     remainder of program;
 10     go to C0;
 11     end

なぜ失敗するのですか?完全な答えではありません.2つのプロセスしか処理しないため、最初に問題が発生するため、スケーラブルではありません...

4

0 に答える 0