多线程安全的单例模式 - 源代码

lianjin 1月前 29

  • 文中用到了 volatile 关键字 保证多线程中 instance 的可见性

  • 两个if 双重判断保证性能也解决了多线程可能会出现的bug



    public  class Singleton {
        private volatile  Singleton instance = null;

        private Singleton() {
        }

        public static Singleton getInstance() {
            if (instance == null) {
                synchronized (Singleton.class) {
                    if (instance == null) {
                        instance = new Singleton();
                    }
                }
            }
            return instance;
        }
    }
最后于 1月前 被lianjin编辑 ,原因:
最新回复 (0)
    • Deep♂Dark♂Fantastic
      2
        立即登录 立即注册 
返回