an example of multi-thread application using the shared memory model. A producer/consumer problem.