文章列表
所有的编程语言都有一些共用的习语。了解和使用一些习语很有用,程序员们花费宝贵的时间来创建、学习和实现这些习语。问题是,稍
后经过证明,一些习语并不完全如其所声称的那样,或者仅仅是与描述的功能不符。在 Java
编程语言中,双重检查锁定就是这样的一个绝不应该使用的习语。在本文中,Peter Haggar
介绍了双重检查锁定习语的渊源,开发它的原因和它失效的原因。
编辑注
:本文在针对 Java 5.0 修订前参考了 Java 内存模型;关于内存排序的描述也许不再正确。尽管如此,在新的内存模型中,双重检查锁定习语仍旧是无效的。
单例创建模式是一 ...