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

编程学习 2021-07-04 22:40www.dzhlxh.cn编程入门
狼蚁网站SEO优化是一个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();
}

Copyright © 2016-2025 www.dzhlxh.cn 金源码 版权所有 Power by

网站模板下载|网络推广|微博营销|seo优化|视频营销|网络营销|微信营销|网站建设|织梦模板|小程序模板