码迷,mamicode.com
首页 > 其他好文 > 详细

单例模式

时间:2015-06-14 16:39:34      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:

单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

单例模式的结构图如下:

技术分享

懒汉式实现(延迟加载,在用到的时候才会实例化那个类)

public class Singleton
{
    //私有化构造函数,不让外部实例化本类
    private Singleton(){}

    //定义一个变量来存储创建好的实例,由于这个变量要在静态方法中使用,所以被迫加了static修饰
    //并不是有意用static的特性
    private static Singleton instance=null;
    private static readonly object syncRoot=new object();
      
    public static Singleton GetInstance()
    {
         //使用了双重检查加锁
         if(instance==null)
         {
             //加锁保证同时只有一个线程可以访问
             lock(syncRoot)
             {
                  if(instance==null)
                  {
                       instance=new Singleton();
                  }
             }
         }
         return instance;
     }
}

 

单例模式

标签:

原文地址:http://www.cnblogs.com/hanmeimei/p/4575162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!