More than one
thread can wait on an object at any given time. When you call an object's notify() method, only
one of those waiting threads will be woken (and you can't choose which one). On the other hand, if you call an object's notifyAll() method,
all of those waiting threads will be woken.