P/C: improved solution
Producer
repeat
produce item v;
MUTEX.wait();
b[in] = v;
in = in + 1;
MUTEX.signal();
AVAIL.signal();
forever;
What will be the initial values of MUTEX and AVAIL?
Consumer
repeat
AVAIL.wait();
MUTEX.wait();
w = b[out];
out = out + 1;
MUTEX.signal();
consume w;
forever;
ANS: Initially MUTEX = 1, AVAIL = 0.
Previous slide
Next slide
Back to first slide
View graphic version