wait( ) tells the calling thread to give up the monitor and go to sleep until some other
thread enters the same monitor and calls notify( ).

notify( ) wakes up the first thread that called wait(...