为了账号安全,请及时绑定邮箱和手机立即绑定

枚举单例模式是饿汉还是懒汉?多线程下双重锁能保证单例模式线程安全?

枚举单例模式是饿汉还是懒汉?多线程下双重锁能保证单例模式线程安全?

江湖不信眼泪 2016-02-24 19:27:02
查看完整描述

1 回答

?
HansonQ

TA贡献223条经验 获得超56个赞

public class Singleton{
    private Singleton(){};//私有化默认构造器
    public static Singleton singleton = null;
    
    //静态工厂
    public static Singleton getInstance(){
        if(singleton == null){
            synchronized (Singleton.calss){
                if(singleton == null){
                    singleton  = new Singleton();
                }
            }
        }
    }
}

什么是线程安全?

如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。

或者说:一个类或者程序所提供的接口对于线程来说是原子操作,或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题,那就是线程安全的。


查看完整回答
反对 回复 2016-02-24
  • 1 回答
  • 0 关注
  • 2520 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号