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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

饿汉式和懒汉式都是线程安全的,怎么说呢?
// 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;
        }
}



2 个回复

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

谢了哈  = =
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马