-
-
-
CENAPAD-MGCO
A seguir: Algoritmo de Ricart e
Acima: Exclusão Mútua Distribuída
Anterior: Algoritmo de Lamport: Complexidade
Fonte: ``An optimal algorithm for mutual exclusion in computer networks''[Ricart and Agrawala, 1981].
CONST i = /* this node unique number */
VAR OSN, /* Our Sequence Number */
HSN, /* Highest Sequence Number */
ORC /* Outstanding Reply Count */ : CARDINAL;
Hungry: BOOLEAN;
Deferred: ARRAY[1..n] OF BOOLEAN;
PROCEDURE Request();
BEGIN
lock(mutex);
Hungry := TRUE; OSN := HSN + 1;
send(request(OSN, me), j) to every j <> i;
ORC := n-1;
WHILE ORC > 0 DO Sleep(B, mutex);
unlock(mutex);
END Request;