您的位置:首页 > 编程语言

关于单例模式线程安全问题

2012-10-21 08:58 337 查看
原文链接:http://www.iteye.com/problems/14912

整理后如下:

问题:

首先,为什么要同步,不同步出现错误的时机是什么? 

还有,单例模式有懒汉式和非懒汉式,如果是懒汉式是否需要加同步锁,非懒汉式呢?

答案:

不同步的话, 对于懒汉式的, 就是在, 这个类的实例还没有创建的时候,
2个线程同时去调用getInstance, 这时, 由于没有同步锁, 有可能会创建出2个实例来。 
对于饿汉式, 由于实例是在load class的时候创建的, 所以就没有这个问题。 当然, 就是2个线程采用了不同的class loader. 
当然, 无论饿汉还是懒汉, 几率都不高, 但几率低不代表不会出错, 逻辑上也不对, 因此, 编程者还是应该避免
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  class 编程