Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            //单线程
            Singleton singleton = Singleton.GetSingleton();

            singleton.Show();

            //线程安全模式
            SingletonThreadSafe singleton1 = SingletonThreadSafe.GetSingleton();

            singleton1.Show();
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 提供一个静态方法获取实例对象
 /// </summary>
 /// <returns></returns>
 public static SingletonThreadSafe GetSingleton()
 {
     //双重检查
     if (singleton == null)
     {
         lock (lockObj)
         {
             if (singleton == null)
             {
                 singleton = new SingletonThreadSafe();
             }
         }
     }
     return(singleton);
 }