Inspectopedia Help

Threading issues

'notify()' or 'notifyAll()' while not synced  

Reports calls to notify() and notifyAll() not within a corresponding synchronized statement or synchronized method.

'wait()' not in loop  

Reports calls to wait() not made inside a loop.

'wait()' while not synced  

Reports calls to wait() not made inside a corresponding synchronized statement or synchronized method.

Access to static field locked on instance data  

Reports accesses to a non-constant static field which is locked on either this or an instance field of this.

Busy wait  

Reports calls to java.

Call to System.runFinalizersOnExit()  

Reports calls to System.

Call to Thread.stop(), Thread.suspend(), or Thread.resume()  

Reports calls to Thread.

Double-checked locking  

Reports double-checked locking.

Empty 'synchronized' block  

Reports synchronized statements with empty bodies.

Nested 'synchronized' statement  

Reports nested synchronized statements.

Non-private field accessed in synchronized context  

Reports non-final, non-private fields which are accessed in a synchronized context.

Synchronization on 'this'  

Reports synchronization which uses this as its lock expression.

Synchronization on non-final field  

Reports synchronized statements where the lock expression is a non-final field.

Synchronization on variable initialized with literal  

Reports synchronized blocks which lock on an object which is initialized with a literal.

Synchronized method  

Reports the synchronized modifier on methods.

Unconditional 'wait' call  

Reports wait() being called unconditionally within a synchronized context.

Unsynchronized method overrides synchronized method  

Reports non-synchronized methods overriding synchronized methods.

While loop spins on field  

Reports while loops, which spin on the value of a non-volatile field, waiting for it to be changed by another thread.

Last modified: 29 April 2024