wait時のロック解放について

プログラミング言語Java第4版310ページには以下のようにある。

waitの間は、オブジェクトのロックは解放されて、waitが完了した理由や方法がなんであろうと、waitが完了する前に自動的に獲得されます。

つまり、waitはsynchronizedされた箇所で実行されるが、待機状態になっている間は、そのオブジェクトのロックを解放し、なんらかの方法で待機状態から復帰した際に、wait実行箇所から再開した場合は、オブジェクトのロックを自動的に再取得しているといっている。
ま、そうじゃなきゃsychronizedで囲っている意味ないしね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です