在设计模式中单例模式,相信大家都很熟悉了,并在系统的场景中都有不少的应用,主要设计思路:保证某个类的实例的引用在jvm中有且仅有一份,但在多线程并发中如何保证线程安全呢,请看代码,仅供参考
/**
* @Author madongxu
* @Date 2018-04-27
* 线程安全的单利模式
*/
public class SingleTon {
//可见性的类实例变量
private volatile static SingleTon instance;
//构造函数私有
private SingleTon(){
}
public static SingleTon getInstance(){
if(null == instance){
//加锁
synchronized(SingleTon.class){
if(null ==instance){
instance = new SingleTon();
}
}
}
return instance;
}
public static void main(String[] args) {
SingleTon ins = SingleTon.getInstance();
System.out.println("object:"+ins.toString());
}
}