独習Java第9章 マルチスレッドプログラミング(9.5)

スレッドの同期についての部分。
環境:MacOS 10.6.5 / Oracle(Sun) JDK6 update22

スレッド間の同期

wait()メソッドでスレッドの待機を、notify()メソッドで待機スレッドに通知を。
ただ、複数スレッドが待機している場合はどのメソッドに通知が送られるかはJVMの実装次第らしい。
すべてのスレッドに通知を送りたい場合はnotifyAll()メソッドを。
notify(), notifyAll()共に通知するだけであって、ロックが解放されるのはsynchronizedメソッド/ブロックを抜けたときだけなので注意。

書いてみる

……書いてみたいところなんだけど、全然意味がわからない状態なのでもうちょっとお勉強。
理解にどれくらいかかるかなー……


つづく