2026-06-09 / C# / .NET Core

.NET 线程成本、线程池与异步边界

从线程空间成本、调度成本到线程池和 async,理解为什么现代 .NET 不应该随意创建线程。

.NETC#

.NET 线程成本、线程池与异步边界

线程让程序可以在等待 I/O、执行计算、响应请求时并发推进,但线程不是免费资源。每个线程都有栈、内核结构和调度成本。

现代 .NET 更常用线程池、Task 和 async I/O,而不是手工创建大量线程。线程仍然存在,只是不应该直接成为业务表达方式。

判断方式

  • CPU 密集任务要控制并行度。
  • I/O 密集任务优先使用 async。
  • 不要把 Thread.Sleep 当作异步等待。
  • 线程池耗尽通常会表现为延迟升高,而不是明显报错。
.NET 线程成本、线程池与异步边界 | Remi Resume