[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 12370] double-checked locking



こんばんは遠藤です。

今日出てきたdouble-checked lockingですが
以前、読書会でも読んだdeveloperWorksの
Javaの理論と実戦: Javaメモリ・モデルを修正する 第2回
http://www-06.ibm.com/jp/developerworks/java/040514/j_j-jtp03304.html
を確認してみました。

関連するところを引用すると

double-checked locking問題に対して提案されている解決方法の一つは遅延初期
化されたインスタンス(lazily initialized instance)を保持するフィールド
をvolatileフィールドにするというものです。
...
中略
...
新しいメモリ・モデルの下では、double-checked lockingに対するこの「解決方
法」で表現法(idiom)がスレッド・セーフになるのです。

とのことです。しかし

double-checked lockingの目標が、より単純な、同期化による手法よりも改善さ
れたパフォーマンスを得る事だとすると、この「修正版」解決方法もあまり役に
は立たちません。

ということだそうです。


-- 
// Y. Endoh