/// <summary> /// 获取实例-线程安全 /// </summary> /// <returns></returns> public static SingletonFirst CreateInstance() { lock (obj) { if (singleton == null) { singleton = new SingletonFirst(); } } return(singleton); }
static void Main(string[] args) { for (int i = 0; i < 5; i++) { Task.Run(() => { var singleton1 = SingletonFirst.CreateInstance(); var singleton2 = SingletonSecond.CreateInstance(); }); } Console.ReadLine(); }