您正在打电话
wait,
notify而没有同步正在等待或通知的事物。如记录在
Object.notifyAll:
抛出:
IllegalMonitorStateException-如果当前线程不是此对象的监视器的所有者。
所以这:
synchronized(nameSetLock){ notifyAll();}应该:
synchronized(nameSetLock){ nameSetLock.notifyAll();}…和同上
wait。请注意,当您使用
syncronized而不是时
synchronized,您当前的代码甚至无法编译,这表明您没有发布
实际的 代码。在输入代码时,您实际上已经 改变 了问题-在这种情况下,您应该编辑问题以使其更具代表性。



