Inspectopedia
 
2024.3

'notify()' or 'notifyAll()' without corresponding state change

Warning
New
Last modified: 03 December 2024

Reports 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: