咨询.NET 4.5默认最大线程数的背后计算逻辑
.NET不同版本默认最大线程数测试发现与困惑
我这段时间一直在研究.NET默认最大线程数的计算逻辑,但翻遍资料都找不到官方给出的具体公式,于是自己做了一系列测试,发现了不同版本间的明显差异:
- 在.NET 4.5环境下,我分别基于CPU核心数、虚拟内存、物理内存这几个维度设计测试用例,但最终得到的默认最大线程数结果完全一致——可就是没法反向推导出它的计算逻辑。
- 切换到.NET Framework 2.0环境后,情况就清晰多了:默认可创建的最大线程数严格遵循每CPU核心250个的规则,多次测试结果都稳定符合这个规律。
目前我还是搞不清.NET 4.5的具体计算逻辑,而且考虑到两个版本的结果差异如此显著,我怀疑这个默认值并不是由操作系统定义的,而是.NET框架自身在不同版本中调整了对应的计算规则。
内容的提问来源于stack exchange,提问作者Ryukote
相关产品推荐
相关产品推荐

