probelma del productor consumidor en semaforo
Publicado por xio (3 intervenciones) el 30/07/2013 20:02:05
m pidieron hacer el codigo de l productor consumidor em semaforo y monitor .. en pascall ...
Valora esta pregunta
0
program ProdConsMon1;
monitor canal;
export escribe,lee;
var n : integer;
leido : boolean;
cdatos,cleido:condition;
procedure escribe(m:integer);
begin
if not leido then
delay(cleido);
n:= m;
leido:=false;
resume(cdatos);
end;
procedure lee(var m: integer);
begin
if leido then
delay(cdatos);
m := n ;
leido:=true;
resume(cleido);
end;
begin
leido:=true ;
end;
process productor ;
var m: integer ;
begin
repeat
m:=random (10);
canal.escribe(m) ;
forever
end ;
process consumidor ;
var m: integer ;
begin
repeat
canal.lee(m) ;
write (m) ;
forever
end;
begin
cobegin
productor ;
consumidor ;
coend ;
end.
process productor ;
var m: integer ;
begin
repeat
m:=random (10);
canal.escribe(m) ;
forever
end ;
process consumidor ;
var m: integer ;
begin
repeat
canal.lee(m) ;
write (m) ;
forever
end;
begin
cobegin
productor ;
consumidor ;
coend ;
end.