标签:
单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
单例模式的结构图如下:
懒汉式实现(延迟加载,在用到的时候才会实例化那个类)
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