互斥锁之单例模式懒汉式的线程安全

单例模式懒汉式的线程安全

TestSingleton

package com.aff.thread;

public class TestSingleton {
    public static void main(String[] args) {
        Singleton s1 = Singleton.getInstance();
        Singleton s2 = Singleton.getInstance();
        System.out.println(s1 == s2);
        Class clazz = Singleton.class;//涉及映射
    }
}

class Singleton {
    private Singleton() {// 私有化类的构造器

    }

    private static Singleton instance = null;

    public static Singleton getInstance() {
        if(instance ==null){//如果为空,其他的线程就不用进来了,速度变快了
        synchronized (Singleton.class) {//这样线程就是安全的了,Singleton.class也是一个对象,涉及映射
            if (instance == null) {
                instance = new Singleton();
            }
        }
    }
        return instance;
    }
}
All that work will definitely pay off
原文地址:https://www.cnblogs.com/afangfang/p/12614934.html