예제 #1
0
        /// <summary>
        /// Вызов простого синглтона, плохо работает в многопоточной среде
        /// </summary>
        private static void SingletonRun()
        {
            Computer comp = new Computer();

            comp.Launch("f*****g OS");
            Console.WriteLine(comp.Os.Name);
        }
예제 #2
0
        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();
        }
예제 #3
0
        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);
        }