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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

线程—单例设计模式下的安全问题
单例设计模式下懒汉式的作用:延迟加载,
如图:
,当有多个线程执行到if语句时,

这时被其他的线程抢夺了CPU, 那么这样的话, 就会产生多个对象, 这样就会产生安全隐患。
因为单例设计中,只能有一个该类对象被创建。
那如何解决呢?
这里就需要同步, 前提: 多个线程在操作共享资源。
,这样就可以解决,

但是这样的话, 每次都要先判断这个锁,这样会比较低效,
因此:在锁的上面,再加一个判断,

这样双重判断,减少了锁的判断次数, 就会提高效率了,

2 个回复

倒序浏览
补充: 这里的函数是静态的, 所以锁就只能是该类的字节码文件对象了。
回复 使用道具 举报
分析很全面
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马