key mutex; bed b; int nr = 0, nw = 0; void requestWrite(void) { lock(mutex); while((nr > 0) || (nw > 0)) { sleep(b,mutex); } nw++; unlock(mutex); } void requestRead(void) { lock(mutex); while(nw > 0) { sleep(b,mutex); } nr++; unlock(mutex); }
int nr = 0, nw = 0;
void requestWrite(void) {
lock(mutex);
while((nr > 0) || (nw > 0)) {
||
sleep(b,mutex);
}
nw++;
unlock(mutex);
void requestRead(void) {
while(nw > 0) {
nr++;