-
-
-
CENAPAD-MGCO
A seguir: Elaine Gouvea Pimentel Acima: Cristiano Ligieri Pereira Anterior: 4a. Questao
class Barrier {
Bed bed;
int n = 0;
Key mutex;
barrier(int p) {
lock(mutex);
n++;
if (n < p)
wait(bed, mutex);
n--;
if (n > 0)
wakeup(bed, mutex);
unlock(mutex);
}
}
O uso desta classe deve ocorrer da seguinte forma:
/* Assumindo "Barrier bar" uma variavel global aos varios processos */ /* processos clientes */ . . . bar.barrier(5); . . .