producer-consumer image