单例模式在Java中的实现(三)
来源:广州中睿信息技术有限公司
发布时间:2012/10/21 23:25:16 编辑:itlead 阅读 2324


  在上一篇文章中,我们向大家介绍了支持延迟加载(初始化)的单例模式的特点以及在Java语言中最基本的实现方式,如下面的代码:

  

  注意getInstance方法,我们增加了一个if语句来实现延长初始化和只初始化一次。这段代码在单线程的情况下是没有问题的,但如果放在多线程中,就有可能产生多个Configuration实例了,从而破坏单例模式,是系统可能产生数据不一致的结果。为了避免这样的情况发生,一种通常的解决方案是将getInstance方法进行同步,从而避免多个线程调用同时进入方法。示例代码如下:

  

  

本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。