allora se non ho scritto fesserie..il codice dell'esercizio con il numero di ombrelloni dovrebbe essere questo..

Ho due processi:
- bagnino
- cliente (ovviamente questo può essere più di uno)
Utilizzo tre semafori cosi inizializzati:
- bagnino = 0
- cliente = 0
- mutex = 1
In fine ho queste due variabili:
- N = numero di ombrelloni sulla spiaggia
- n_c = numeri di clienti

Ora veniamo al codice del bagnino:
Codice:

bagnino {
while(1) {
P(cliente);
P(mutex);
n_c--;
V(bagnino);
v(mutex);
sono_occupato();
}
}


codice del cliente:
Codice:

cliente {
while(1) {
P(mutex);
if(n_c < N) {
n_c++;
V(cliente);
V(mutex);
P(bagnino);
mi_sta_soccorrendo();
}
else {
attendo();
V(mutex);
}
}
}

ps questo però se il numero degli ombrelloni fosse stato finito..
come modifico questo codice visto che il numero degli ombrelloni è illimitato?
grazie a tutti ciao