1. ホーム
  2. java

[解決済み] wait()呼び出し時にIllegalMonitorStateExceptionが発生する。

2022-04-24 21:57:44

質問

私は自分のプログラムにjavaのマルチスレッドを使っています。 私は正常にスレッドを実行しましたが、私が使用しているときに Thread.wait() を投げます。 java.lang.IllegalMonitorStateException . どうすれば、スレッドが通知を受けるまで待機させることができるのでしょうか?

どのように解決するのですか?

にする必要があります。 synchronized ブロックが Object.wait() が動作するようにします。

また、旧来のスレッドパッケージではなく、同時実行パッケージを見てみることをお勧めします。これらのパッケージはより安全で より簡単に扱える .

EDIT

という意味かと思いきや Object.wait() この例外は、オブジェクトをロックしていない状態でアクセスしようとしたときに発生します。