懒汉式设计模式在多线程下是不管用了,假如在多线程下,一个线程进入if(singleton==null)
判断语句块,还未来得及往下执行,另一个线程也通过了这个判断语句,这是可能会产生多个实例。
在实际的开发中,不要使用这种设计模式。如果要解决这类问题,应该在该方法定义中
加入sychronized,让线程排队执行。但是这种方式效率太低了,其实getinstance()
方法执行一次就够了,后面如果想获得该类实例,直接return就行了。在实际开发中
,不推荐使用这种方式。

静态内部类是推荐使用的。
全部评论

相关推荐

头像
不愿透露姓名的神秘牛友
07-02 09:07
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务