コード例 #1
0
 public static LazySingleton GetInstance()
 {
     if (instance == null)
     {
         lock (syncRoot)
         {
             if (instance == null)
             {
                 instance = new LazySingleton();
             }
         }
     }
     return(instance);
 }
コード例 #2
0
        static void Main(string[] args)
        {
            EagerSingleton eSingleton1 = EagerSingleton.GetInstance();
            EagerSingleton eSingleton2 = EagerSingleton.GetInstance();

            if (eSingleton1 == eSingleton2)
            {
                Console.WriteLine("两个对象是相等实例");
            }

            LazySingleton lSingleton1 = LazySingleton.GetInstance();
            LazySingleton lSingleton2 = LazySingleton.GetInstance();

            if (lSingleton1 == lSingleton2)
            {
                Console.WriteLine("两个对象是相等实例");
            }
            Console.ReadLine();
        }