View Single Post
Old 20-02-2010, 21:49   #1
gabmac2
Senior Member
 
Iscritto dal: Jun 2009
Messaggi: 5524
Esercizio su semafori e monitor

Ho svolto questo esercizio su monitor e semafori e vorrei sapere un vostro giudizio
Una strada a senso alternato non permette il passaggio di auto,se non un senso per volta
SEMAFORI
rosse da sinistra a destra e blu viceversa

sem autorosse; sem autoblu; int turno =0;int max=5;

passa(){
if(autososse>autoblu){
turno=0;
for (i=0;i<MAX;i++){
wait(mutex)
autoblu++
autorosse--
---passa---
wait autorosse
signal autoblu
signal(mutex)
l' else è al contrario

MONITOR

condizione stradalibero
int nred, nblue, waitred, waitblue;
booleano turno
entra rossa

waitred := waitred+1;
while(nblue>0 or (waitblue>0 and turno))
do wait(stradalibero);
waitred := waitred-1;
nred := nred +1;

Come vi sembra ?
Grazie in anticipo
gabmac2 è offline   Rispondi citando il messaggio o parte di esso