[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends-ml 12370] double-checked locking
- From: Yasuhiro Endoh <quiver2k@xxxxxxxxx>
- Date: Sun, 11 Jun 2006 00:15:40 +0900
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=ybb20050223; d=ybb.ne.jp; b=qMrNWgvFIhbR0BigRzRAUM0nQ4AXeX+Kykl8ey4T2mQYV40F+uRGOaFcGv2UkcnyXfCoeVqkLnrG36Il/qH3nkT93y6h2KIFrNSUR5Hhl3fXniTAnIPpIzK3BX18amYq ;
こんばんは遠藤です。
今日出てきた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