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

resources.report.rules.pmd.AvoidSynchronizedAtMethodLevel.html Maven / Gradle / Ivy



AvoidSynchronizedAtMethodLevel

AvoidSynchronizedAtMethodLevel

Method-level synchronization can cause problems when new code is added to the method.
Block-level synchronization helps to ensure that only the code that needs synchronization gets it.

    
//MethodDeclaration[@Synchronized='true']
    

Example(s):


public class Foo {
  // Try to avoid this:
  synchronized void foo() {
  }
  // Prefer this:
  void bar() {
    synchronized(this) {
    }
  }

  // Try to avoid this for static methods:
  static synchronized void fooStatic() {
  }
  
  // Prefer this:
  static void barStatic() {
    synchronized(Foo.class) {
    }
  }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy