·嵌套管程死锁是如何发生的
·具体的嵌套管程死锁的例子
·嵌套管程死锁 vs 死锁
嵌套管程锁死类似于死锁, 下面是一个嵌套管程锁死的场景:
Thread 1 synchronizes on A Thread 1 synchronizes on B (while synchronized on A) Thread 1 decides to wait for a signal from another thread before continuing Thread 1 calls B.wait() thereby releasing the lock on B, but not A. Thread 2 needs to lock both A and B (in that sequence) to send Thread 1 the signal. Thread 2 cannot lock A, since Thread 1 still holds the lock on A. Thread 2 remain blocked indefinately waiting for Thread1 to release the lock on A Thread 1 remain blocked indefinately waiting for the signal from Thread 2, thereby never releasing the lock on A, that must be released to make it possible for Thread 2 to send the signal to Thread 1, etc.