producer and comsumer problem