黑马程序员技术交流社区

标题: 关于懒汉式中,多线程访问会出现的安全问题,其解决方案的理解 [打印本页]

作者: zhaihao    时间: 2014-9-6 13:30
标题: 关于懒汉式中,多线程访问会出现的安全问题,其解决方案的理解
用同步解决时,为什么会低效?
为什么双重判断可以解决这个问题?
作者: 她只是过客    时间: 2014-9-6 13:46
class Danlil {
        private static Danlil d = null;

        private Danlil() {
        }

        public static/* Synchronizer */Danlil method() {
        //        if (d == null) {@面试:双重判断可以体改效率。
                        // Synchronizer(Danlil.class){
                        if (d == null)
                                d = new Danlil();
                        // }
        //        }
                return d;
        }
低效是因为访问方法时要判断锁,所以低效了,一重判断式解决安全问题,双重判断式提高效率,第二重判断后,就不用判断锁和下面的if,如果没有双重判断,那么即会判断锁又判断下面的if,有了双重判断也就是上面的if,就不用再次判断锁和下面的if了
作者: zhaihao    时间: 2014-9-6 20:06
她只是过客 发表于 2014-9-6 13:46
class Danlil {
        private static Danlil d = null;

搜噶,谢谢、、、、、、




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