public static SingletonA GetInstance() { if (instance == null) { lock (syncRoot) { if (instance == null) { instance = new SingletonA(); } } } return(instance); }
static void Main(string[] args) { SingletonA s1 = SingletonA.GetInstance(); SingletonA s2 = SingletonA.GetInstance(); if (s1 == s2) { Console.WriteLine("{0}和{1}是相等的", s1, s2); } SingletonB s3 = SingletonB.GetInstance(); SingletonB s4 = SingletonB.GetInstance(); if (s3 == s4) { Console.WriteLine("{0}和{1}是相等的", s3, s4); } }