Singleton - bis subject lock / lock double check

Double lock detection / double checking lock (DCL, i.e., double-checked locking)

JDK version Since JDK1.5
Are Lazy Initialization Yes
Are multi-thread safe Yes
Difficult to achieve More complex

Description: This dual mode locking mechanism, and in safe multithreading can maintain high performance.
Performance getInstance () is critical to the application.


/**
 * 
 * @version 1.0.0
 * @date 2019\8\4  20:29
 */
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;
    }

}

Published 23 original articles · won praise 1 · views 3139

Guess you like

Origin blog.csdn.net/qq_43669912/article/details/98474719