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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

单例设计模式有同步么,需要注意什么了?锁?如何提高代码运行效率

10 个回复

倒序浏览
饿汉式单例模式有同步,下面是看毕老师视频的一些总结
延迟加载的单例设计模式
//懒汉式
特点是:实例的延迟加载。多线程访问的时候会有安全问题,可以加同步解决,加同步代码块和同步函数都行,但是有些低效。用双重判断方式可以解决效率问题,加同步的时候使用的锁是哪一个?该类所属的字节码文件对象
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;
                        }
                }
        }
}

点评

饿汉式同步?  发表于 2014-8-30 09:22
回复 使用道具 举报
那个是懒汉式
回复 使用道具 举报
一般都用懒汉式的

点评

根据老师提供的信息,实际工作中一般用饿汉式,但是面试时一般考懒汉式  发表于 2014-8-30 09:23
回复 使用道具 举报
2种模式  饿汉式 懒汉式  懒汉式需要同步
回复 使用道具 举报
学习一下
回复 使用道具 举报
hsy 中级黑马 2014-8-29 08:48:15
7#
懒汉式就是所谓的延迟加载,并且懒汉式还有线程安全问题,所以要同步加锁,锁在方法上就行
回复 使用道具 举报
一般都用饿汉式,没用过懒汉式,都是拿过来就用~
回复 使用道具 举报
@for 中级黑马 2014-8-30 13:28:03
9#
懒汉式有同步,饿汉式不需要同步,网上还有第三种方式,忘了咋说的了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马