Ejemplo n.º 1
0
        static void Main2(string[] args)
        {
            Thread p1 = new Thread(() => SingletonUnsafe.GetInstance());
            Thread p2 = new Thread(() => SingletonUnsafe.GetInstance());
            Thread p3 = new Thread(() => SingletonUnsafe.GetInstance());
            Thread p4 = new Thread(() => SingletonUnsafe.GetInstance());
            Thread p5 = new Thread(() => SingletonUnsafe.GetInstance());

            p1.Start();
            p2.Start();
            p3.Start();
            p4.Start();
            p5.Start();

            p1.Join();
            p2.Join();
            p3.Join();
            p4.Join();
            p5.Join();

            /*
             * SingletonSimple create x4
             * SingletonSimple create x1
             * Singleton is dummy created!!!
             * SingletonSimple create x3
             * Singleton is dummy created!!!
             * Singleton is dummy created!!!
             * SingletonSimple create x2
             * SingletonSimple create x5
             * Singleton is dummy created!!!
             * Singleton is dummy created!!!
             */
        }
Ejemplo n.º 2
0
 public static SingletonUnsafe GetInstance() => _Instance ?? (_Instance = new SingletonUnsafe());