单例模式饿汉式--线程安全

单例模式饿汉式--线程安全

代码

方式一:(效率低)

class Bank{
    private Bank(){}
    private static Bank instance = null;
    public static Bank getInstance(){
        synchronized (Bank.class){
            if(instance == null){
                instance = new Bank();
            }
            return instance;
        }
    }
}

方式二:(效率高)

class Bank{
    private Bank(){}
    private static Bank instance = null;
    public static Bank getInstance(){
        if(instance == null){
            synchronized (Bank.class){
                   if(instance == null){
                     instance = new Bank();
                   }               
            }
        }
        return instance;
    }
}

总结

方式二较方式一效率更高,原因是方式二减少了多余的排队。

posted @ 2021-12-01 15:09  非常ice的Icebear  阅读(140)  评论(0)    收藏  举报