The methods are not only called on Threads. The purpose of these methods is to provide a way to prevent an Object from being accessed from two different Threads at the same time. These methods allow Threads to have exclusive access to an object for the duration of an operation that should be considered atomic. The reason they are in the Object class is because we must be able to make sure that any Object can be protected from concurrent access.