黑马程序员技术交流社区

标题: 延迟加载的单例模式的安全问题解决 [打印本页]

作者: liuxiaoye    时间: 2016-2-27 18:53
标题: 延迟加载的单例模式的安全问题解决
请写一个延迟加载的单例模式?写懒汉式;当出现多线程访问时怎么解决?加同步,解决安全问题;效率高吗?不高;怎样解决?通过双重判断的形式解决。
懒汉式:延迟加载方式。
当多线程访问懒汉式时,因为懒汉式的方法内对共性数据进行多条语句的操作。所以容易出现线程安全问题。为了解决,加入同步机制,解决安全问题。但是却带来了效率降低。
为了效率问题,通过双重判断的形式解决。
class Single{
        private static Single s = null;
        private Single(){}
        public static Single getInstance(){ //锁是谁?字节码文件对象;
                if(s == null){
                        synchronized(Single.class){
                                if(s == null)
                                        s = new Single();
                        }
                }
                return s;
        }
}





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