嵌套管程锁死类似于死锁, 下面是一个嵌套管程锁死的场景:线程 1 获得 A 对象的锁。线程 1 获得对象 B 的锁(同时持有对象 A 的锁)。线程 1 决定等待另一个线程的信号再继续。线程 1 调用 B.wait(),从而释放了 B 对象上的锁,但仍然持有对象 A 的锁。 线程 2 需要同时持有对象 A 和对象 B 的锁,才能向线程 1 发信号。
关注时代Java