Object.wait()、Object.notify()、Object.notifyAll() 方法抛出 IllegalMonitorStateException。如果当前线程不是此对象监视器的所有者,则会引发此异常。但是,如果没有得到对象的监视器天气当前线程将能够在任何对象上执行等待/通知/通知全部,就不清楚了吗?O/w 非法监视器状态的机会是什么?
感谢 scottb 的建议。感谢海诺的回复。我得到的另一个疑问是关于成为对象监视器的所有者:
线程通过以下方式之一成为对象监视器的所有者: • 通过执行该对象的同步实例方法。• 通过执行在对象上同步的同步语句的主体。• 对于Class 类型的对象,通过执行该类的同步静态方法。
前两个陈述被理解。但是 class 类型的对象的基本原理是什么?