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