I thought that you have to synchronize all methods that involve fields that can be accessed by several threads at the same time. the writeObject is synchronized but the readObject is not this could cause problems as you could read the wrong value... where do I go wrong in my thinking?