Java 並行処理プログラミング
Java並行処理プログラミング ―その「基盤」と「最新API」を究める―
- 作者: Brian Goetz,Joshua Bloch,Doug Lea
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/11/22
- メディア: 単行本
- 購入: 30人 クリック: 442回
- この商品を含むブログ (174件) を見る
複数のスレッドが同じ可変なステート変数に正しい同期化なしでアクセスしているなら、そのプログラムは欠陥プログラムです。なおす方法は三つあります。:
・そのステート変数を複数のスレッドが共有しないようにする。
・そのステート変数を不可変にする。
・そのステート変数へのアクセスをつねに同期化する。(P.18)
この原則を守るためのいろいろな手段がこの本には満載。ただ守るだけでなく、パフォーマンスも十分に考慮された設計も紹介されている。たとえばServletのservice()にsynchronizedをつければ、たとえスレッドセーフなソースコードになったとしても、そんなソースコードは使い物にならない。
非常に視野が広くなったと実感した1冊である。