コード例 #1
0
ファイル: Program.cs プロジェクト: cipristupi/techdemo
        static async Task Main(string[] args)
        {
            int    numTasks     = int.Parse(args[0]);
            double sleepSeconds = double.Parse(args[1]);

            //ThreadPool.SetMaxThreads(2, 2);

            ThreadPool.GetMaxThreads(out int maxWorkerThreads, out int maxIOThreads);
            ThreadPool.GetMinThreads(out int minWorkerThreads, out int minIOThreads);
            Console.WriteLine($"MinThreads: {minWorkerThreads}, {minIOThreads}");
            Console.WriteLine($"MaxThreads: {maxWorkerThreads}, {maxIOThreads}");

            var scoreboard = new Scoreboard();

            var taskList = new List <Task>();

            for (var i = 0; i < numTasks; i++)
            {
                var task = WorkTask(scoreboard, sleepSeconds);
                taskList.Add(task);
            }

            await scoreboard.PollScores();
        }