伺服器每請求建立執行緒會耗盡資源。預先建立執行緒池,請求到來時取用,大幅降低開銷。
static void Execute(object state) => Console.WriteLine(state);
static void Main() {
ThreadPool.GetMaxThreads(out int wt, out int ct);
Console.WriteLine($"Worker: {wt}, IOCP: {ct}");
ThreadPool.QueueUserWorkItem(Execute, "執行緒1");
ThreadPool.QueueUserWorkItem(Execute, "執行緒2");
ThreadPool.QueueUserWorkItem(Execute, "執行緒3");
Console.ReadLine();
}

ThreadPool 取得的執行緒**皆為背景執行緒**