【发布时间】:2020-06-30 05:45:38
【问题描述】:
thread-safe Singleton Design Pattern 与 Double Check Locking 有什么区别,如下面的代码所示。
public class Singleton {
private static volatile Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized (this) {
if(instance==null)
instance = new Singleton();
}
}
return instance;
}
}
除了Eager初始化之外的以下实现。
public class Singleton {
private static volatile Singleton instance = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
return instance;
}
}
【问题讨论】:
标签: design-patterns thread-safety singleton double-checked-locking