取自微软文档:
默认情况下,线程池每个可用处理器有 250 个工作线程。您可以使用 ThreadPool.SetMaxThreads 方法更改此设置。
众所周知,还有一些开销:
线程有一定程度的开销。因此,如果一台计算机有多个处理器并且您将处理拆分为两个线程,您将不会看到 100% 的性能提升。
出于一些经验和更多猜测,我每个 CPU会有1 到 4 个线程,而不是250 个!有人知道为什么是250吗?它是应该提供最佳整体性能的某个值,还是为了让您提供给该线程池的几乎所有任务都得到处理,而无需等待其他任务完成?