``++notify++`` and ``++notifyAll++`` both wake up sleeping threads, but ``++notify++`` only rouses one, while ``++notifyAll++`` rouses all of them. Since ``++notify++`` might not wake up the right thread, ``++notifyAll++`` should be used instead.
== Noncompliant Code Example
----
class MyThread extends Thread{
@Override
public void run(){
synchronized(this){
// ...
notify(); // Noncompliant
}
== Compliant Solution
notifyAll();
== See
* https://wiki.sei.cmu.edu/confluence/x/MTdGBQ[CERT, THI02-J.] - Notify all waiting threads rather than a single thread