Say some thread has acquired an object A's lock and is now executing that object's synchronized method. Within that method there is a call on some object B's synchronized method and thread is blocked while trying to acquire that object B's lock.
Does object A's lock is released while thread is waiting on object B's lock?
Can such a scenario cause issues in a multi-threading design?