悟空老师,你好。在讲解wait只释放当前的锁的时候,您使用的代码案例类是WaitNotifyReleaseOwnMonitor 。 thread1中已经使用了wait()释放了锁,并且在thread2中获取到了,并且thread1因为调用了wait()方法,使得thread1一直占用着resourceA这把锁,一直处于等待状态,并且resourceA.wait()是在synchronized(resourceB){} 代码块中,证明thread1线程的一直占用着resourceB这把锁,所以在thread2线程对象中执行不了resourceB中的代码。 我这样理解对吗?
本实例代码,如果我想让代码正常退出,这个代码应该如何改进?我尝试的改进了,就是在thread2的resourceA代码块中使用了resourceA.notify(),但是程序依然退出不了