4.1.2 producer consumer solution