Java / Java Multithreading
Difference between notify and notifyAll in Java.
The key difference between notify and notifyAll is that notify() will cause only one thread to wake up while notifyAll method will make all the wating thread to wake up.
When a thread calls notify on some monitor, it wakes up a single thread that's waiting on that monitor, but which thread gets woken is decided by the scheduler. A thread can call notifyAll, which wakes up all the threads waiting for that monitor, then they all contend for the monitor, then the one thread get the monitor and others go back to waiting.
More Related questions...