DesignPattern_Creational_Singleton

void Main()
{
    object.ReferenceEquals(Singleton.GetInstance(),Singleton.GetInstance()).Dump();
    object.ReferenceEquals(NSingleton.Instance,NSingleton.Instance).Dump();
}

class Singleton{
    private Singleton(){}
    private static Singleton instance;
    private static object obj = new object();
    public static Singleton GetInstance(){
        if (instance==null)
        {
            lock (obj)
            {
                if (instance==null)
                {
                    instance=new Singleton();
                }
            }
        }
        return instance;
    }
}

class NSingleton
{
    public static readonly NSingleton Instance = new NSingleton();
}
时间: 2025-01-12 00:04:11

DesignPattern_Creational_Singleton的相关文章