【发布时间】:2010-08-03 09:31:13
【问题描述】:
取自微软文档:
默认情况下,线程池每个可用处理器有 250 个工作线程。你可以 使用 ThreadPool.SetMaxThreads 方法更改此设置。
众所周知,还有一些开销:
线程有一定程度的开销。因此,如果一台计算机有多个处理器 如果你将处理分成两个线程,你不会看到 100% 的性能 改进。
根据一些经验和更多猜测,我应该每个 CPU 有 1 到 4 个线程,而不是 250!有人知道为什么是250吗?是不是应该提供最佳整体性能,或是为了让您分配给该线程池的几乎所有任务都是无需等待其他任务完成即可处理?
【问题讨论】:
-
我觉得最好问问@serverfault
标签: .net multithreading threadpool processor