DEVFYI - Developer Resource - FYI

Whats the difference between notify() and notifyAll()?

Java Interview Questions and Answers (part 3)


(Continued from previous question...)

376. Whats the difference between notify() and notifyAll()?

notify() is used to unblock one waiting thread; notifyAll() is used to unblock all of them. Using notify() is preferable (for efficiency) when only one blocked thread can benefit from the change (for example, when freeing a buffer back into a pool). notifyAll() is necessary (for correctness) if multiple threads should resume (for example, when releasing a "writer" lock on a file might permit all "readers" to resume).

(Continued on next question...)

Other Interview Questions