78. Use Synchronize When Handling Mutable Methods
When working with threads, synchronize on mutable methods becomes a valuable resource. This is because of two reasons:
Synchronize ensure the method can only be accessed by one thread at a time. Any thread attempting to execute the method while it is already in use, will be put on hold until the method is available again.
Because the threads are set to wait for each other, synchronize also guarantee that each thread will be able to see changes to the mutable method made by previous threads.
A mutable method could for example be a method providing an incremental serial number based on a field instance.