服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - ASP.NET教程 - C#多线程Singleton(单件)模式模板

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

2019-09-28 12:08服务器之家 ASP.NET教程

下面是一个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) 

_instance = new T(); 



return _instance; 


在必要的时候需如果要刷新当前instance,可以这样写: 

复制代码代码如下:


public static void RefreshInstance() 

_instance = new T(); 

延伸 · 阅读

精彩推荐