Singleton


C#多线程Singleton(单件)模式模板

最近在研究设计模式,我会陆续总结一些实用的代码出来。 下面是一个C#多线程单件模式的代码模板。把T换成你自己的类型就可以使用了。其精妙之处就在于用lock语句锁定资源来避免多线程同时走入if语句去创建多个对象。 private static volatile T _instance = null; private static object objLock = new Object(); private T() { } public static T Instance { get { if (_instance == null) { lock (objLock) { if (_instance == null) …