//方法一
class Singleton
{
private static Singleton instace;
private static readyonly object syncRoot=new object(); //程序运行时创建一个静态只读的进程辅助对象
private Singleton() //私有构造函数
{}
public static Singleton GetInstace()
{
if(instace ==null)
{
lock(syncRoot) //lock确保党一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入则会一直等待,直到该对象被释放
{
if(instace ==null)
{
instance=new Singleton();
}
}
}
return instance;
}
}
//方法二
public sealed class Singlon
{
publiic static readyonly Singlon instance=new Singlon();
private Singlon(){}
public static Singlon GetInstance()
{ return instance};
}