黑马程序员技术交流社区

标题: 多线程下的单例设计模式——懒汉式 [打印本页]

作者: 南无ice    时间: 2016-1-5 22:57
标题: 多线程下的单例设计模式——懒汉式
这节考点好多啊。分享一下给大家。希望加深一下理解。
下面是代码:class Single
{
        private static Single s = null;
        private Single(){}
        public  static Single getSingle()
        {
                //如果第一个线程获取到了单例的实例对象
                //那么后面的线程获取实例就不需要进入同步代码块了。
          if (s=null)
                {
                        synchronized(Single.class)
                        {
                                   if (s=null)
                                                 s = new Single;
                                   return s;
                        }
                }
        }
}
        懒汉式用于实例的延时加载。
        如果多线程访问出现安全问题:通过加同步来解决。同步代码块和同步函数都以
        用双重判断方式可以解决效率问题。
        加同步时使用的锁是  该类所属的字节码对象。
大家多多了解下哈。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2