All Downloads are FREE. Search and download functionalities are using the official Maven repository.

resources.report.rules.findbugs.DL_SYNCHRONIZATION_ON_BOOLEAN.html Maven / Gradle / Ivy



DL_SYNCHRONIZATION_ON_BOOLEAN

DL: Synchronization on Boolean (DL_SYNCHRONIZATION_ON_BOOLEAN)

The code synchronizes on a boxed primitive constant, such as an Boolean.

private static Boolean inited = Boolean.FALSE;
...
  synchronized(inited) {
    if (!inited) {
       init();
       inited = Boolean.TRUE;
       }
     }
...

Since there normally exist only two Boolean objects, this code could be synchronizing on the same object as other, unrelated code, leading to unresponsiveness and possible deadlock

See CERT CON08-J. Do not synchronize on objects that may be reused for more information.





© 2015 - 2024 Weber Informatics LLC | Privacy Policy