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(); }