form of producer/consumer problem