public void MethodSingletonThreadSafe2()
        {
            SingletonThreadSafe2 instance = SingletonThreadSafe2.Instance;

            Debug.WriteLine(instance);
            SingletonThreadSafe2 anotherInstance = SingletonThreadSafe2.Instance;

            Debug.WriteLine(anotherInstance);

            Assert.AreEqual(instance, anotherInstance);
        }
Beispiel #2
0
 public static SingletonThreadSafe2 GetInstance()
 {
     if (instance != null)
     {
         return(instance);
     }
     lock (instance) {
         if (instance == null)
         {
             instance = new SingletonThreadSafe2();
         }
     }
     return(instance);
 }
Beispiel #3
0
    public static void SubMain(String[] args)
    {
        SingletonThreadSafe2 instance = SingletonThreadSafe2.GetInstance();

        Console.WriteLine(instance);

        SingletonThreadSafe2 anotherInstance = SingletonThreadSafe2.GetInstance();

        Console.WriteLine(anotherInstance);

        if (instance == anotherInstance)
        {
            Console.WriteLine("They are the same instance");
        }
    }