DCL就是双重检索锁,废话不多说,直接贴代码
public class single{
//创建可见性实例instace
private static volatile DoubleCheckedLocking instatace;
//私有化构造方法
private static DoubleCheckedLocking (){
}
//公共获取实例方法
public static DoubleCheckedLocking getInstace(){
//双重验证
if(instace!=null){
return instace;
}
//同步块
synchronized(DoubleCheckedLocking .class){
if(instace==null){
return new DoubleCheckedLocking ();
}
return instace;
}
}