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

江湖不信眼泪
浏览 2521回答 1
1回答

HansonQ

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();                 }             }         }     } }什么是线程安全?如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。或者说:一个类或者程序所提供的接口对于线程来说是原子操作,或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题,那就是线程安全的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java