Question: Suppose there the buffer has only 1 slot, which could only store 1 data item. Could you rewrite the producer and consumer code with at

Suppose there the buffer has only 1 slot, which could only store 1 data item. Could you rewrite the producer and consumer code with at most 2 semaphores?

producer

while (true) {

[ produce an item ]

empty.wait();

mutex. wait();

[ deposit an item

mutex. signal();

full. signal() ;

} II end while loop

consumer

while (true) {

full.wait();

mutex. wait();

[ remove an item

mutex. signal();

empty. signal() ;

[ Consume data item ]

} II end while loop

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!