黑马程序员技术交流社区

标题: 1为什么类加载的过程进行初始化是线程安全的 [打印本页]

作者: pure_dust    时间: 2015-1-2 19:58
标题: 1为什么类加载的过程进行初始化是线程安全的
饿汉式和懒汉式都是线程安全的,怎么说呢?
// hungry style 饿汉式
public class Test4 {
        private static Test4 instance = new Test4();
       
        private Test4(){
        }
       
        public Test4 getInstance(){
                return instance;
        }
}
懒汉式
// lazy man style
public class Test5 {
        private static Test5 instance;
       
        private Test5(){
        }
        // need to be synchronized;
        public static synchronized Test5 getInstance(){
                if(null == instance)
                        instance = new Test5();
                return instance;
        }
}




作者: ELine    时间: 2015-1-2 21:10
懒汉式加入了synchronized 修饰符后就能够实现线程安全。因为只要一个线程读到该静态方法的时候,就会加锁,即时线程在里面挂起了,其他线程也不能进入该函数。可以参考一下 --083_面向对象(单例设计模式方式二)_黑马程序员_Java基础视频
作者: pure_dust    时间: 2015-1-3 00:07
ELine 发表于 2015-1-2 21:10
懒汉式加入了synchronized 修饰符后就能够实现线程安全。因为只要一个线程读到该静态方法的时候,就会加锁 ...

谢了哈  = =




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