A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

这节考点好多啊。分享一下给大家。希望加深一下理解。
下面是代码: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;
                        }
                }
        }
}
        懒汉式用于实例的延时加载。
        如果多线程访问出现安全问题:通过加同步来解决。同步代码块和同步函数都以
        用双重判断方式可以解决效率问题。
        加同步时使用的锁是  该类所属的字节码对象。
大家多多了解下哈。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马