- - - - CENAPAD-MGCO

contents index A seguir: Observações Acima: The Drinking Philosophers Problem Anterior: A Solução Higiênica: Preliminares


A Solução Higiênica: Comandos Guardados

R1
Requisitando um garfo f :
hungry, reqf(f), $\neg fork(f)$ $\rightarrow$
send request token for fork f;
reqf(f) := false
R2
Entregando um garfo f :
$\neg eating$, reqf(f), dirty(f) $\rightarrow$
send fork f;
dirty(f) := false;
fork(f) := false
R3
Recebendo um request token por f :
receive(ReqToken(f)) $\rightarrow$
reqf(f) := true
R4
Recebendo um garfo f :
receive(fork(f)) $\rightarrow$
fork(f) := true
R5
Começando a comer :
hungry, all forks $\rightarrow$
hungry := false;
eating := true;
dirty(f) := true for all f
R6
Acabando de comer :
eating $\rightarrow$
eating := false; thinking := true;

next up previous contents index
Next: Observações Up: The Drinking Philosophers Problem Previous: A Solução Higiênica: Preliminares
Osvaldo Carvalho - Postscript - Comentários?