java.lang.IllegalMonitorStateException: null
时间: 2023-11-17 11:46:53 浏览: 123
java.lang.IllegalArgumentException:Input == null的异常处理
5星 · 资源好评率100%
java.lang.IllegalMonitorStateException: null是一个异常信息,它表示在调用wait()、notify()、notifyAll()等线程控制操作方法时发生了非法的监视器状态。根据引用中提供的信息,这个异常发生在调用wait()方法时,调用者为null。
在Java中,当你调用wait()方法时,必须满足两个条件:首先,必须在被synchronized关键字控制的同步代码块中才能调用wait()方法;其次,调用者必须是当前的锁对象。根据引用和引用中提供的代码,我们可以看到在修改后的代码中,调用wait()方法的调用者为lock对象,而不是this对象。
因此,根据引用中的代码,当直接调用wait()方法时,实际上调用者是当前线程的实例对象thread,并不是lock对象,所以会抛出java.lang.IllegalMonitorStateException异常。
综上所述,java.lang.IllegalMonitorStateException: null异常是因为在调用wait()方法时,调用者为null。解决这个异常的方法是确保调用wait()方法的调用者是当前的锁对象。
阅读全文