单例模式_C#设计模式

 public class Single
    {
        private static readonly object obj = new object();
        private static Single single;
        private Single(){ }//防止在类外实例化
        public static Single GetSingle()
        {
            if (single == null)
            {
                lock (obj)//加锁防止某一时间片内有两个线程相继去实例化
                {
                    if (single == null)
                    {
                        single = new Single();
                    }
                }
            }
            return single;
          
        }
    }

 

posted on 2013-05-24 23:56  staben  阅读(102)  评论(0编辑  收藏  举报

导航