public static void UseSingleton() { Console.WriteLine("This is StudentC"); Singleton singleton = Singleton.CreateInstance();// new Singleton(); singleton.Show(); }
//public static Singleton singletonCommon = new Singleton();//只构造一个对象 private static void Main(string[] args) { ////Singleton singleton = Singleton.CreateInstance(); //new Singleton();//只构造一个对象 ////for (int i = 0; i < 10; i++) ////{ //// Singleton singleton = Singleton.CreateInstance(); //// Singleton singleton = new Singleton();// //// singletonCommon.Load(); //// singleton.Load(); ////} ////SubClass1.SubSingleton(); ////SubClass2.SubSingleton(); ////SubClass3.SubSingleton(); for (int i = 0; i < 10; i++) { new Action(() => { Singleton singleton = Singleton.CreateInstance(); singleton.Load(); }).BeginInvoke(null, null); } Console.Read(); }
public static void SubSingleton() { Console.WriteLine("This is SubClass2"); Singleton singleton = Singleton.CreateInstance();// new Singleton(); singleton.Load(); }
//public static Singleton singleton = new Singleton(); static void Main(string[] args) { try { Console.WriteLine("欢迎大家来到.net高级班vip课程,今天是Eleven老师为大家带来的单例模式"); TaskFactory taskFactory = new TaskFactory(); List <Task> taskList = new List <Task>(); //for (int i = 0; i < 5; i++) //{ // taskList.Add(taskFactory.StartNew(() => // { // Singleton singleton = Singleton.CreateInstance(); //new Singleton(); // singleton.Write(); // })); //} //Task.WaitAll(taskList.ToArray()); //Console.WriteLine("**********************************************************"); //for (int i = 0; i < 5; i++) //{ // taskFactory.StartNew(() => // { // Singleton singleton = Singleton.CreateInstance(); //new Singleton(); // singleton.Write(); // }); //} { Singleton singleton = Singleton.CreateInstance(); } { for (int i = 0; i < 10000; i++) { taskList.Add(taskFactory.StartNew(() => { Singleton singleton = Singleton.CreateInstance(); //new Singleton(); singleton.Write(); })); } Task.WaitAll(taskList.ToArray()); } { Singleton singleton = Singleton.CreateInstance(); singleton.ShowI(); } } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.Read(); }
private static void Main(string[] args) { var firstSingleton = Singleton.CreateInstance("Little singleton"); var secondSingleton = Singleton.CreateInstance("Another singleton"); Console.WriteLine("First and second instance of the Singleton are {0}", firstSingleton == secondSingleton ? "identical" : "not identical"); Console.WriteLine("First singleton name is {0}", firstSingleton.GetName()); Console.WriteLine("Second singleton name is {0}", secondSingleton.GetName()); }
//public static Singleton singletonCommon = new Singleton();//只构造一个对象 static void Main(string[] args) { try { Console.WriteLine("欢迎来到.net高级班公开课之设计模式特训,今天是Eleven老师为大家带来的单例模式Singleton"); ////Singleton singleton = Singleton.CreateInstance(); //new Singleton();//只构造一个对象 ////for (int i = 0; i < 10; i++) ////{ //// Singleton singleton = Singleton.CreateInstance(); //// Singleton singleton = new Singleton();//每次都构造一个对象 //// singletonCommon.Show(); //// singleton.Show(); ////} ////StudentA.UseSingleton(); ////StudentB.UseSingleton(); ////StudentC.UseSingleton(); List <IAsyncResult> resultList = new List <IAsyncResult>(); for (int i = 0; i < 10; i++) { resultList.Add(new Action(() => { Singleton singleton = Singleton.CreateInstance(); singleton.Show(); }).BeginInvoke(null, null));//会启动一个异步多线程调用 } while (resultList.Count(r => !r.IsCompleted) > 0) { Thread.Sleep(10); } for (int i = 0; i < 10; i++) { resultList.Add(new Action(() => { SingletonSecond singleton = SingletonSecond.CreateInstance(); singleton.Show(); }).BeginInvoke(null, null));//会启动一个异步多线程调用 } } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.Read(); }
static void Main(string[] args) { try { TaskFactory taskFactory = new TaskFactory(); List <Task> taskList = new List <Task>(); for (int i = 0; i < 10; i++) { taskList.Add(taskFactory.StartNew(() => { Singleton singleton = Singleton.CreateInstance(); })); } Task.WaitAll(taskList.ToArray()); Console.WriteLine("实例化结束"); } catch (Exception e) { Console.WriteLine("Error:" + e.Message); } Console.ReadKey(); }
static void Main(string[] args) { try { List <IAsyncResult> resultList = new List <IAsyncResult>(); for (int i = 0; i < 10; i++) { resultList.Add(new Action(() => { Singleton singleton = Singleton.CreateInstance(); singleton.Show(); }).BeginInvoke(null, null));//会启动一个异步多线程调用 } while (resultList.Count(r => !r.IsCompleted) > 0) { Thread.Sleep(10); } for (int i = 0; i < 10; i++) { resultList.Add(new Action(() => { //SingletonSecond singleton = SingletonSecond.CreateInstance(); SingletonThird singleton = SingletonThird.CreateInstance(); singleton.Show(); }).BeginInvoke(null, null));//会启动一个异步多线程调用 } } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.Read(); }