Java Concurrent Programming (七)

Java Concurrent Programming (7)7. Double-Checked Locking双重检查锁定机制,是一个老生常谈的问题了。双

Java Concurrent Programming (7)
7. Double-Checked Locking
  双重检查锁定机制,是一个老生常谈的问题了。双重检查锁定机制已经被广泛的引用,特别是在多线程环境下的懒加载实现上。但是,如果没有额外的同步,它不能独立可靠的运行在Java平台。看这段代码:

class Singleton {  private static Singleton instance = new Singleton();}

  Java语言规定,字段的初始化是从被引用后,而且所有的线程将从字段初始化后进行相应的操作。

Reference :
  http://www.cs.umd.edu/~pugh/java/memoryModel/
  http://gee.cs.oswego.edu/dl/cpj/jmm.html