Kevin Wald: A Certain Song in C++ while (1) { monitor->enter(); if (count) { count--; monitor->leave(); toy->zip(); monitor->enter(); count++; monitor->signal(can_move); monitor->leave(); } else { toy->bop(); toy->whirr = TRUE; monitor->wait(can_move); toy->whirr = FALSE; monitor->leave(); } } cout << toy->id;