BufferPoolTest.Program.Main C# (CSharp) Метод

Main() статический приватный Метод

static private Main ( string args ) : void
args string
Результат void
        static void Main(string[] args)
        {
            Console.Write(@"Test Lock-free ");
            if (testObject == TestObject.Pool)
            {
                Console.WriteLine("Pool");
                testPool = true;
            }
            else if (testObject == TestObject.FastPool)
            {
                Console.WriteLine("Fast Pool");
                testPool = true;
            }
            else if (testObject == TestObject.StackQueue)
            {
                Console.WriteLine("Stack & Queue (Not Pool)");
                testPool = false;
            }
            else
                throw new NotImplementedException();

            Console.WriteLine(@"ThreadPool Test Starting...");

            Console.WriteLine(@"  All threads: {0}", threads);
            Console.WriteLine(@"  Buffers per thread: {0}", actions);
            Console.WriteLine(@"  Buffer pool size: {0}", poolSize);

            Console.WriteLine();

            if (testPool)
            {
                if (testObject == TestObject.Pool)
                    pool = new LockFreePool<Item>(poolSize);
                if (testObject == TestObject.FastPool)
                    pool = new LockFreeFastPool<Item>(poolSize);
            }
            else
            {
                array = new LockFreeItem<Item>[poolSize + 1];
                for (int i = 1; i < array.Length; i++)
                    array[i].Value = new Item();

                queue = new LockFreeQueue<Item>(array, 0, poolSize + 1);
                stack = new LockFreeStack<Item>(array, -1, -1);
            }

            items = new bool[65536];

            run = true;
            for (int i = 0; i < threads; i++)
            {
                var thread = new Thread(TestBufferPool);
                thread.Start();
            }

            Console.WriteLine(@"Started. Press any key to stop...");
            Console.ReadKey(true);

            run = false;

            while (count > 0)
                Thread.Sleep(25);
        }