设计模式-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));
            }
        }
    }

 

posted @ 2016-06-15 21:57  MancosZeng  阅读(102)  评论(0编辑  收藏  举报