Singleton(单例模式)
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
主要解决:一个全局使用的类频繁地创建与销毁。
public class Singleon
{
// 创建私有对象,保证只有一个对象
private static volatile Singleon _instance = null;
// 锁
private static object _singleonLock = new object();
/// <summary>
/// 创建唯一实例
/// </summary>
/// <returns></returns>
public static Singleon CreateInstance()
{
if (_instance == null) // 确保实例已被创建,不在做不必要的动作了。
{
lock (_singleonLock) // 多线程中确保单一实例
{
if (_instance == null)
{
_instance = new Singleon();
}
}
}
return _instance;
}
}