Description: The program uses a bounded buffer monitor into which the Producer thread puts characters and from which the Consumer thread gets characters. The Consumer runs slightly faster than the Producer, so start the Producer first and wait until a few buffer slots are filled before starting the Consumer.
File list (Check if you may need any files):
BoundedBuffer.java
Buffer.java
BufferCanvas.java
BufferImpl.java
Consumer.java
Producer.java