首页 > 代码库 > 单利采用双锁定技术

单利采用双锁定技术

摘抄自《改善C#程序的157个建议》 —— 建议105:使用私有构造函数强化单例。
   

关于单例的一个著名的技术就是“双锁定”技术。采用双锁定技术后,单例的线程安全版本为:

    public sealed class Singleton    {        private static Singleton instance = null;        static  readonly object padlock=new object();        Singleton()        {}        public static Singleton Instance        {            get            {                if (instance==null)                {                    lock (padlock)                    {                        if (instance==null)                        {                            instance=new Singleton();                        }                    }                }                return instance;            }        }    }

 

最后,要强调的一点是:单利应该同时是一个sealed类型。