-
-
-
CENAPAD-MGCO
A seguir: Pool de Recursos Idênticos
Acima: Árvore B
Anterior: Árvore B
void requestWrite() {
lock(mutex);
Ticket myTicket = q.getTicket();
while ((nr > 0) || (!q.isTheBest(myTicket))) {
wait(bed, mutex);
}
nww++; nwr--;
q.ok(myTicket);
unlock(mutex);
}
void releaseWrite() {
lock(mutex);
nww--;
wakeup(bed,mutex);
unlock(mutex);
}
void releaseRead() {
lock(mutex);
nr--;
wakeup(bed,mutex);
unlock(mutex);
}