/// <summary> /// Вызов простого синглтона, плохо работает в многопоточной среде /// </summary> private static void SingletonRun() { Computer comp = new Computer(); comp.Launch("f*****g OS"); Console.WriteLine(comp.Os.Name); }
static void Main(string[] args) { Computer comp = new Computer(); comp.Launch("Windows 8.1"); Console.WriteLine(comp.OS.Name); // we can not change the object, it has been already created comp.OS = OS.getInstance("Windows 10"); Console.WriteLine(comp.OS.Name); Console.ReadLine(); }
private static void SingletonMultiThreadRun() { (new Thread(() => { Computer comp = new Computer(); comp.Launch("win10"); Console.WriteLine(comp.Os.Name); })).Start(); Computer comp2 = new Computer(); comp2.Os = Os.getInstance("win8"); Console.WriteLine(comp2.Os.Name); }