there is anexample of the cosumer and producer Write a program in C++ and Win32 API to implement the producer-consumer problem . You should implement the buffer pool using two queues (i.e. linked lists): the full queue and the empty queue. The full queue contains those nodes with an item (an integer) already deposited in them (the queue is initialized to 0). The empty queue contains those empty nodes and is initialized to 10. The producer thread first asks the user to enter an integer (0..9). It then accesses the empty queue to get an empty node from the head of the queue and deposits the item in it. It then accesses the full queue to insert the node at the tail of the queue. The consumer thread accesses the full queue to get a full node from the head of the queue and removes the item from it. It then accesses the empty queue to insert the node at the tail of the queue. Since both queues can be accessed by the two threads simultaneously, synchronization (implemented using three semaphores) is needed. The "full" semaphore (initialized to 0) is used to indicate how many full buffers have been created. The "empty" semaphore (initialized to 10) is used to indicate how many empty buffers are available. The "mutex" semaphore is used to synchronize the access to the buffer pool. The following events should be addressed by sending a message to the screen. When an empty buffer is obtained by the producer thread from the empty queue. e.g. producer: an empty buffer is obtained from the empty queue. (2) When a loaded buffer is returned to the full queue. e.g. producer: buffer containing 3 is returned to the full queue. When a loaded buffer is obtained by the consumer thread from the full queue. e.g. consumer: buffer containing 5 is obtained from the full queue. (4) When an empty buffer is returned to the empty queue. e.g. consumer: an empty buffer is returned to the empty queue. You may delay the consumer (e.g. Sleep(2000)) a little bit to offset the competition between the two threads. example see attachment
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 3) Complete ownership and distribution copyrights to all work purchased.
## Platform
xp,nt,98,melinum usualy i use visual c++ 6.0