【发布时间】:2013-08-07 05:26:13
【问题描述】:
我收到了java.lang.IllegalMonitorStateException。我提到了this 问题,它解决了我的问题。第一个答案是
To be able to call notify() you need to synchronize on the same object.
synchronized (someObject) {
someObject.wait();
}
/* different thread / object */
synchronized (someObject) {
someObject.notify();
}
我的问题是为什么我们需要在同一个对象上同步广告它是如何工作的?
就我的理解而言,当我们说
synchronized (someObject) {
someObject.wait();
}
我们在对象 someObject 上获得了一个锁,然后我们在它上面调用 wait()。 现在另一个线程如何锁定同一个对象来调用 notify() 呢?我错过了什么?
【问题讨论】:
-
你为什么用粗体字提到你的问题? (像这样)
标签: java synchronization wait notify