【发布时间】:2011-04-26 21:59:25
【问题描述】:
我正在阅读一本 C# 4.0 书籍,该书为线程池的最大线程限制提供了以下默认值。
- Framework 4.0 中 32 位环境中的 1023
- 32768 在 64 位环境中的 Framework 4.0 中
- Framework 3.5 中每个核心 250 个
- Framework 2.0 中每个内核 25 个
谁能告诉我是什么可能导致默认值大幅增加,尤其是 64 位?上下文切换的问题解决了吗?
过去,我们对线程池的大小设置了合理的限制,因为似乎存在一个最佳点,在此之后我们的应用程序由于上下文切换而变慢。自然,我们会在更新目标框架后进行压力测试和重新基准测试。但是任何人都可以了解为启用更大的线程池而进行了哪些框架改进?还是只是 MS 增加了默认值以看起来令人印象深刻?
【问题讨论】:
标签: .net multithreading threadpool .net-4.0