C#的延迟加载、线程安全的单例模式

C#的延迟加载、线程安全的单例模式

参考文献:C#单例模式的实现和性能对比

public class Singleton
{
    public static Singleton Instance
    {
        get { return Nested.instance; }
    }

    // 禁止外部实例化
    private Singleton() {}

    private class Nested
    {
        internal static readonly Singleton instance;

        // 静态构造方法,保证线程安全、延迟加载,且只执行一次
        static Nested()
        {
            instance = new Singleton();
        }
    }
}

你可能感兴趣的:(编程语言)