首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 執行緒系列講座 (3):ThreadPool 基本用法與最大執行緒數查詢

     編輯:關於C語言

ThreadPool 動機

伺服器每請求建立執行緒會耗盡資源。預先建立執行緒池,請求到來時取用,大幅降低開銷。

預設上限 (.NET Framework 版本/CPU 核心數影響)

  • 工作執行緒:~500
  • I/O 完成埠執行緒:~1000

基本使用範例


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 取得的執行緒**皆為背景執行緒**
  • 無需手動管理生命週期,工作完成自動歸還集區
  • 適合短小、獨立、大量的平行工作項目
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved