私は自分のプログラムで Java のマルチスレッドを使用しています。 スレッドを正常に実行しましたが、 を使用するとThread.wait()
がスローされますjava.lang.IllegalMonitorStateException
。 通知されるまでスレッドを待機させるにはどうすればよいですか?
ベストアンサー1
synchronized
が機能するには、待機するオブジェクトのブロック内にいる必要がありますObject.wait()
。
また、古いスレッドパッケージではなく、並行処理パッケージを検討することをお勧めします。それらはより安全で、作業が簡単。
Object.wait()
例外とは、オブジェクトのロックを保持せずにアクセスしようとした場合に何が起こるかということだと思いました。