Synchronization is an issue that arises when multiple animacies share state.
In Java, this means that there are multiple Threads directly or indirectly accessing some field of an object. These Threads may either be explicitly created or automatically generated as, e.g., the user interface Thread in java.awt. When an object accesses state, it does so either to obtain or to set a value. If the access does not change the value, we call it a read . An access that changes the value of some state is called a write .