参考:
Java
并发编程的艺术
1 典型例子
双重检查锁定的典型例子,如下:
public class DoubleCheckedLocking {
private static Instance instance;
/**
* 双重检查锁定
*/
public static Instance getInstance() {
if (instance == null) {
// 1、第一次检查
synchronized (DoubleCheckedLocking.class) {
// 2、加锁
if (instance == null) {
// 3、第二次检查
instance = new Instance()