Multi Thread essences exercise, there are two foundations to ensure thread safe under racing condition. One is synchronized method, the other is synchronized object, synchronized method will lock the object but allow none synchronized method being accessed. In opposite of this, synchronized object will lock the object, relinguish the access by other reference that wanna invoke its methods.