设计模式-5-单例模式

Posted MancosZeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式-5-单例模式相关的知识,希望对你有一定的参考价值。

说明:通过对自身的调用,在全局只能创建一个

 sealed class Singleton
    {
        private static readonly Lazy<Singleton> lazy =
       new Lazy<Singleton>(() => new Singleton());
        public static Singleton Instance { get { return lazy.Value; } }
        private Singleton()
        {
            index = 0;
        }
        public int index { get; set; }
        public void Exc(int flag)
        {
            index++;
            Console.WriteLine($"线程{flag}:{index}");
        }
    }
 class SingleState : absState
    {
        public override void Exc()
        {
            for (var i = 0; i < 10; i++)
            {
                Thread t1 = new Thread(new ParameterizedThreadStart(Run));
                t1.Start(i);
            }
        }
        void Run(object obj)
        {
            for(var i=0;i<10;i++)
            {
                Singleton.Instance.Exc(Convert.ToInt32(obj));
            }
        }
    }

 

以上是关于设计模式-5-单例模式的主要内容,如果未能解决你的问题,请参考以下文章

单例设计模式 (代码实现)

基于多线程任务队列执行时间测试——泛型单例模式落地

设计模式单例模式:5-单元素枚举类模式

如何写一个简单的单例模式?

创建型设计模式--单例模式

单例的设计模式代码演示