第一种实现方式:
public class MyClass1
{
private static MyClass1 uniqueInstance = new MyClass1();
private MyClass1()
{ }
public static MyClass1 GetInstance()
{
return uniqueInstance;
}
}
第二种实现方式:
public class MyClass2
{
private static object synRoot = new object();
private static MyClass2 uniqueInstance = new MyClass2();
private MyClass2()
{ }
public static MyClass2 GetInstance()
{
if (uniqueInstance == null)
{
lock (synRoot)
{
if (uniqueInstance == null)
uniqueInstance = new MyClass2();
}
}
return uniqueInstance;
}
}