consumer producer no busy waiting