Un esempio di monitor single resource: monitor
begin
busy: Boolean;
nonbusy: condition;
procedure acquire;
begin
if busy then nonbusy.wait;
busy := true
end;
procedure release;
begin
busy := false;
nonbusy.signal
end;
busy := false;
end single resource

busy = boolean per indicare se la risorsa è in uso

se la risorsa è occupata si farà acquire

una volta che la risorsa sarà utilizzata si farà il release

Enrico Vrabie