Object.notify()
or Object.notifyAll()
being called without any detectable state change occurring.
Normally, Object.notify()
and Object.notifyAll()
are used to inform other threads that a state change has
occurred. That state change should occur in a synchronized context that contains the Object.notify()
or
Object.notifyAll()
call, and prior to the call. While not having such a state change isn't necessarily incorrect, it is
certainly worth examining.
Example:
synchronized (this) {
notify();
}
// no state change
synchronized (this) {
notify(); // this notify might be redundant
}