Проблема взаимного исключения
Следующее решение проблемы взаимного исключения, обсуждавшееся ранее, опубликовано в 1966 г. Хайманом в Коммуникациях ACM. В псевдоалголе он был указан следующим образом.
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
почему это не удается? и не является полным ответом, я вижу проблему, во-первых, потому что он обрабатывает только два процесса, поэтому он не масштабируется...