Thread problem
The eaters must give their dishes to the dishwasher by putting them on a conveyor belt that has a capacity of 4 plates. They are removed by a Washer thread, who takes some time to remove them from the belt.
a) Implement what is kind of the inverse of our Producer - Consumer, where many Producers supply a limited capacity consumer. Vary parameters such as rate the Washer takes dishes, the number of eaters and pies eaten to demonstrate that we will get eaters blocked on turning their dishes in (they must return their dish before getting more pie).
b) For added amusement, close the loop by insisting that plates must be available for the Baker to serve the pie to the eater. Prove that the whole thing is coordinated properly in a) and then b).