package com.concurrent;
public class DoubleCheckSingleton {
private static volatile DoubleCheckSingleton singleton;
private DoubleCheckSingleton() {
}
public static DoubleCheckSingleton getInstance() {
if (singleton == null) {
synchronized (DoubleCheckSingleton.class) {
if (singleton == null) {
singleton = new DoubleCheckSingleton();
}
}
}
return singleton;
}
}
本文深入探讨了Java中双重检查锁(Double Check Locking)单例模式的实现细节。通过一个具体的代码示例,解释了如何利用volatile关键字和同步块确保在多线程环境下单例对象的正确创建。
362

被折叠的 条评论
为什么被折叠?



