2026-06-09 / C# / .NET Core
.NET 线程成本、线程池与异步边界
从线程空间成本、调度成本到线程池和 async,理解为什么现代 .NET 不应该随意创建线程。
.NETC#
.NET 线程成本、线程池与异步边界
线程让程序可以在等待 I/O、执行计算、响应请求时并发推进,但线程不是免费资源。每个线程都有栈、内核结构和调度成本。
现代 .NET 更常用线程池、Task 和 async I/O,而不是手工创建大量线程。线程仍然存在,只是不应该直接成为业务表达方式。
判断方式
- CPU 密集任务要控制并行度。
- I/O 密集任务优先使用 async。
- 不要把
Thread.Sleep当作异步等待。 - 线程池耗尽通常会表现为延迟升高,而不是明显报错。