面试官:说说双重检查加锁单例模式为何两次if判断?

内层判断:若是内层不加if判断,就会实例化屡次,这是显而易见的,这就违背了单例模式的单例二字。函数 外层判断:试图想一想一种状况,当线程1走完了内层判断,对象实例化了,线程3也调用了getInstace函数,若是没有加外层的判断线程3仍是要继续等待线程2的完成,而加上外层判断,就不须要等待了,直接返回了实例化的对象。线程 个人理解:外层的判断是为了提升效率,里层的判断就是第一次实例化须要。对象
相关文章
相关标签/搜索