public class Singleton
2{
3 private static Singleton _instance = null;
4 private static readonly object lockHelper = new object();
5 private Singleton()
6 {
7 }
8 public static Singleton CreateInstance()
9 {
10 //这样lock以及lock块内的代码只会在第一次调用CreateInstance方法的时候执行,
11 //第一次调用该方法后_instance就不再为null了,if块内的代码就无须执行了
12 if(_instance == null)
13 {
14 lock(lockHelper)
15 {
16 if(_instance == null)
17 _instance = new Singleton();
18 }
19 }
20 return _instance;
21 }
22}
虽然单例模式很熟,但当被问到,"你项目中那里用到了单例模式",还是不知道怎么说,因为项目中真的没有用过,
现在想到了一个,"当我们连接数据库字符串时,每次都要去读webConfig 得到培植文件,这里何不用单例模式那,全局变量,一次得到即可."