Huh, I thought notify did not unlock the mutex at all (I don't see why it would need to).synchronized (cond.mutex) {
From: Sean Kelly <sean@invisibleduck.org>
void put(T val) {
queue.pushBack(val);
cond.notify(); // atomically unlocks mutex on call, locks on return
}
}