我还没有找到模块中类Condition和Event类之间差异的明确解释threading.是否有一个明确的用例,其中一个比另一个更有帮助?我可以找到的所有示例都使用生产者 - 消费者模型作为示例,这queue.Queue将是更直接的解决方案.
我得到了java.lang.IllegalMonitorStateException.我提到了这个问题,它解决了我的问题.第一个答案是
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();
}
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么我们需要在同一个对象广告上同步它的工作原理?
据我所知,据我所知
synchronized (someObject) {
someObject.wait();
}
Run Code Online (Sandbox Code Playgroud)
我们得到对象someObject的锁,然后我们调用wait().现在,另一个线程怎么能锁定同一个对象来调用notify()呢?我错过了什么?