不用synchronized和lock能实现线程安全的单例吗?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

不用synchronized和lock能实现线程安全的单例吗?

游客pklijor6gytpx 2019-11-11 15:54:06 728

不用synchronized和lock能实现线程安全的单例吗?

本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。 点击链接欢迎加入感兴趣的技术领域群。

安全 开发者
分享到
取消 提交回答
全部回答(2)
  • yao学无止境
    2019-12-01 15:11:51

    饿汉式单例模式天生线程安全,类加载的时候初始化一次对象即可

    0 0
  • 游客pklijor6gytpx
    2019-11-11 15:54:32
    public class Singleton {
        private static final AtomicReference<Singleton> INSTANCE = new AtomicReference<Singleton>(); 
    
        private Singleton() {}
    
        public static Singleton getInstance() {
            for (;;) {
                Singleton singleton = INSTANCE.get();
                if (null != singleton) {
                    return singleton;
                }
    
                singleton = new Singleton();
                if (INSTANCE.compareAndSet(null, singleton)) {
                    return singleton;
                }
            }
    
    
    }
    

    }

    0 0
添加回答
+ 订阅

云安全开发者的大本营

推荐文章
相似问题