Both threads will wait indefinitely for the lock on the other class loader, and so they become deadlocked.
两个线程都会无限期地等候另一个类装入器上的锁,所以它们就变成了死锁的。
2
This synchronized code block acquires the lock associated with the customer class object before it executes.
同步的代码块在执行之前需要与客户类对象相关的锁。
3
The application hangs because each thread owns a lock on one of the class loaders and wants the lock on the other class loader, as illustrated in the timeline diagram in Figure 2.