-
-
-
CENAPAD-MGCO
A seguir: Carvalho e Roucairol (1983)
Acima: Exclusão Mútua Distribuída
Anterior: Ricart e Agrawala: Complexidade
CONST i = /* this node unique number */
VAR OSN, /* Our Sequence Number */
HSN /* Highest Sequence Number */: CARDINAL;
A, Deferred: ARRAY [1..n] OF BOOLEAN;
Eating, Hungry: BOOLEAN;
PROCEDURE Request();
VAR j: CARDINAL;
BEGIN
lock(mutex);
Hungry := TRUE; OSN := HSN + 1;
FOR j := 1 TO n DO
IF (j <> i) AND (NOT A[j]) THEN
send(request(OSN, i),j);
WHILE NOT (A[j] = TRUE for all j <> i) DO Sleep(B,mutex);
Hungry := FALSE; Eating := TRUE;
unlock(mutex);
END Request;