If a class has a synchronized set method and a similarly-named get method is not also synchronized, calls to the get method may not return a consistent state for the object.

Synchronize read operations as well as write operations. You should usually synchronize the get method.

  • The Java Language Specification: Synchronization.