java多线程编程——静态同步函数

//饿汉式,在多线程下是安全的
public class Single {
    private static final Single s=new Single();
    private Single(){};
    public static Single getInstance(){
        return s;
    }
}
//懒汉式,非线程安全,必须使用同步
public class Single {
    private static  Single s=null;
    private Single(){};
    public static Single getInstance(){
        if(s==null)
            synchronized(Single.class){//静态同步,锁是方法所在类的字节码文件对象
                if(s==null)
                s=new Single();
            }
        return s;
    }
}
原文地址:https://www.cnblogs.com/personal/p/6341354.html