【发布时间】:2011-02-04 06:01:55
【问题描述】:
我需要一种可靠的方法来检测计算机上有多少 CPU 内核。我正在创建一个数值密集型模拟 C# 应用程序,并希望创建最大数量的运行线程作为核心。我已经尝试了许多互联网上建议的方法,例如 Environment.ProcessorCount,使用 WMI,此代码:http://blogs.adamsoftware.net/Engine/DeterminingthenumberofphysicalCPUsonWindows.aspx 他们似乎都不认为 AMD X2 有两个内核。有任何想法吗?
编辑:Environment.ProcessorCount 似乎返回了正确的数字。它在一个带有超线程的英特尔 CPU 上,它返回了错误的数字。具有超线程的信号核心返回 2,而它应该只有 1。
【问题讨论】:
-
您的链接无法正常工作...
-
您在 Taskmgr.exe 的“性能”选项卡中看到多少个处理器?
-
该链接前几天还在工作。
-
我可以在性能标签中看到两个。
标签: c# .net multithreading cpu-cores