次の状況があるとします。
synchronized void someMethod() {
...
try {
wait();
}catch(InterruptedException e) {
System.out.println("InterruptedException caught");
}
...
}
と
synchronized void someOtherMethod() {
...
notify();
}
そして、Thread
最初にアクセスsomeMethod
し、入っwait
てからsomeOtherMethod
通知し、状態に戻りますRunnable
。notify()
メソッド内の呼び出しの位置は重要ですか? notify()
メソッド内の別の位置に呼び出しを配置しても、動作に変化はありませんでした。
Thread
への呼び出しが行われるとすぐに通知されるべきではありませんnotify()
か?