class Singleton
{
private static volatile Singleton instance=null;
private static object lockHelper=new object();
private Singleton(){}
public static Singleton Instance()
{
if(instance==null)
{
lock(lockHelper)
{
if(instance==null)
{
instance=new Singleton();
}
}
}
return instance;
}
}
/////
class Singleton
{
public static readonly Singleton Instance =new Singleton();
private Singleton()
{
}
}
==>
class Singleton
{
public static readonly Singleton Instance ;
private Singleton() {}
static Singleton()
{
Instance=new Singleton();
}
{
}
}
{
private static volatile Singleton instance=null;
private static object lockHelper=new object();
private Singleton(){}
public static Singleton Instance()
{
if(instance==null)
{
lock(lockHelper)
{
if(instance==null)
{
instance=new Singleton();
}
}
}
return instance;
}
}
/////
class Singleton
{
public static readonly Singleton Instance =new Singleton();
private Singleton()
{
}
}
==>
class Singleton
{
public static readonly Singleton Instance ;
private Singleton() {}
static Singleton()
{
Instance=new Singleton();
}
{
}
}
静态构造器的执行时间:第一次使用静态成员时自动调用。