If a single
thread was not be able to acquire the same lock multiple times, it would not be permitted to invoke a synchronized method from the body of another synchronized method of the same class. In clear, one thread is allowed to lock the same lock multiple times. The lock is released when a equal amount of unlock actions have been performed.
Please refer to
JLS 17.5 Rules about Locks for detailed information about how un/locking works.