单例模式是设计模式中最简单和最容易理解的模式,需要注意的地方只有一个,第一次实例化的时候要确保是线程安全即可。
第一种实现
/// <summary>
/// 多线程不安全单利
/// </summary>
public class Single
{
private static Single Instance;
private Single()
{ }
public static Single GetInstance()
{
if (Instance == null)
Instance = new Single();
return Instance;
}
}
第二种实现
/// <summary>
/// 多线程安全单利 每次要加锁浪费资源
/// </summary>
public class Single
{
private static Single Instance;
private static readonly object locker = new object();
private Single()
{ }
public static Single GetInstance()
{
lock (locker)
{
if (Instance == null)
Instance = new Single();