goo blog サービス終了のお知らせ 

コンピュータ・プログラミング日誌

記録をつけていきます。

Javaスレッドでのロック(lock)

2020-12-11 23:57:11 | Java
Java Gold SE8 (山本道子著)のP376にこう書いてある。

 共有して使用されるオブジェクトの中で、複数のスレッドで同時に実行したくない箇所にsynchronizedキーワードを指定すると、吐いた制御を実現できます。synchronizedを使用することにより、同時に1つのスレッドからしか実行されないことが保証されます。
 synchronizedが指定された箇所をあるスレッドが実行している間、共有のオブジェクトはロックがかかった状態になります。ロック(lock)は直訳の「施錠」のとおり、オブジェクトに鍵をかけます。したがって、ロックがかかっている状態のときに別のスレッドに制御が移り、そのスレッドが共有オブジェクトのsynchronizedが指定された箇所を実行しようとしても、そのスレッドは待たされることになります。そして、synchronizedが指定された箇所の処理が終了するとロックは解放されます。

最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。