阅读背景:

单例模式以及序列化仍然单例的问题

来源:互联网 

 

这类方法依然存在并发的同步阻塞问题,并且jdk1.5之前是有问题的

public class SeriSingleDCL {

    // volatile 多线程并发的可见性
    private volatile static SeriSingleDCL single = null;

    private SeriSingleDCL() {
    }

    /**
     * DCL方法减少同步的阻塞
     */
    public static SeriSingleDCL getInstance() {
        if (single == null) {
            synchronized (SeriSingleDCL.class) {
                if (single == null) {
                    single = new SeriSingleDCL();
                    return single;
                }
            }
        }
        return single;
    }
}public class 




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: