首页 > 编程语言 > 详细

线程安全的懒汉式单例设计模式

时间:2017-09-01 21:51:52      阅读:548      评论:0      收藏:0      [点我收藏+]
首先回顾一下单利设计模式:
     单利设计模式是通过某种方式使某个类只能创建一个对象实例供外界使用。
单利设计模式分为懒汉式和饿汉式:
饿汉式是线程安全的:
 
1 //饿汉式单利设计模式:
2  class Single{
3      private static final Single single = new Single();
4      private Single(){}
5      public static Single getInstance(){
6           return s;
7      }
8  }
 
饿汉式实现线程安全,可以通过给获取实例的方法添加同步或者添加同步代码块,
     但是这样会损失时间效率,使每一次调用都会判断是否拥有锁,那么可以通过双重判空和同步代码块的方法来实现
     线程安全,从而也提高了效率
 1 //线程安全的懒汉式单例设计模式
 2 public class SingleDemo {
 3 //懒汉式,线程安全的,双重判断加同步线程
 4      private static SingleDemo singleDemo=null;
 5      private SingleDemo() {}
 6      public static SingleDemo getInstance() {
 7           if (singleDemo==null) {
 8               synchronized(SingleDemo.class) {
 9                    if (singleDemo==null) {
10                         singleDemo = new SingleDemo();
11                    }
12               }
13           }
14           return singleDemo;
15      }
16 }

 

线程安全的懒汉式单例设计模式

原文:http://www.cnblogs.com/anzhi/p/7465149.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!