报告对不是在相应的 synchronized 语句或 synchronized 方法中 进行 wait() 的调用。 在没有持有锁的对象上调用 wait() 会导致抛出 IllegalMonitorStateException。 这样的结构不一定是错误的,因为在调用该包含方法前可能已获取必要的锁,但即便如此,还是要仔细了解。