同一个线程获取和释放多个锁

acquirement and release of multiple locks by the same thread

假设某个线程获得了对象 A 的锁,现在正在执行该对象的同步方法。在该方法中,调用了某个对象 B 的同步方法,并且线程在尝试获取该对象 B 的锁时被阻塞。

当线程等待对象 B 的锁时,对象 A 的锁是否被释放?
这种情况会导致多线程设计出现问题吗?

不,对象 A 将保持锁定状态。

如果其他线程先锁定 B 并尝试锁定 A,则可能导致死锁。