Synopsis: | Use block level rather than method level synchronization |
Language: | Java |
Severity Level: | 3 |
Category: | Design |
Description: |
Method level synchronization can backfire when new code is added to the method. Block-level
synchronization helps to ensure that only the code that needs synchronization gets it.public class Foo { // Try to avoid this synchronized void foo() { } // Prefer this: void bar() { synchronized(this) { } } } |