...
Code Block | ||
---|---|---|
| ||
public class SomeObject { private final Object lock = new Object(); // private lock object public void changeValue() { synchronized(lock) { // Locks on the private Object // ... } } } |
For more details on using the private
Object lock refer to CON02-J. Always synchronize on the appropriate object. There is some performance impact associated with using block synchronization instead of method synchronization but the difference is usually negligible. In the presence of statements that do not require synchronization amongst those that do, block synchronization tends to be a better performer.
...