◕ᴗ◕。2018,砥砺前行

不该做什么和该做什么一样重要

java单例模式之线程安全懒汉饿汉模式

一:饿汉模式

public Simple(){
     private static Single s=new Single();        
     private Single(){

     }  
     public static Simple getSimple(){
         return s;
     } 

}

二:懒汉模式

class Single1 {
    private static volatile Single1 s = null;//被volatile修饰的变量能够保证每个线程能够获取该变量的最新值,从而避免出现数据脏读的现象

    public Single1() {

    }
       //同步函数的demo
    public static synchronized Single1 getInstance() {
        if (s == null)
            s = new Single1();
        return s;
    }
    //同步代码快的demo加锁,安全高效
    public static Single1 getInStanceBlock(){
        if(s==null)
            synchronized (Single1.class) {
                if(s==null)
                    s = new Single1();
            }

        return s;

    }
}
阅读更多
版权声明:有不足之处欢迎指出,欢迎交流 https://blog.csdn.net/qq_33594101/article/details/80322166
个人分类: java
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

java单例模式之线程安全懒汉饿汉模式

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭