线程安全问题
volatile:保证多线程下的可见性
读volatile:每当子线程读取volatile变量时,都会从主线程重新拷贝一份
写volatile: 每当子线程修改volatile变量时,都会在修改后同步到主线程去
synchronized:对象锁、类锁、方法锁(其它篇有介绍)
public class Singleton {
private static volatile Singleton instance;
private Singleton(){
}
public static Singleton getInstance(){
if(instance == null){
synchronized(Singleton.class){
if(instance == null){
instance = new Singleton();
}
}
}
return instance;
}
}