c# – 有没有办法可靠地检测CPU核心总数?

前端之家收集整理的这篇文章主要介绍了c# – 有没有办法可靠地检测CPU核心总数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要一种可靠的方法来检测计算机上有多少cpu核心.我正在创建一个数字密集的模拟C#应用程序,并希望创建最大数量的运行线程作为核心.我尝试了很多围绕互联网建议的方法,比如Environment.ProcessorCount,使用WMI,这段代码http://blogs.adamsoftware.net/Engine/DeterminingthenumberofphysicalCPUsonWindows.aspx他们似乎都不认为AMD X2有两个内核.有任何想法吗?

编辑:似乎Environment.ProcessorCount返回正确的数字.它位于具有超线程的英特尔cpu上,返回错误的数字.超线程的核心是2,当它应该只有1时.

解决方法

Detecting the number of processors

或者,使用GetLogicalProcessorInformation()Win32 API:http://msdn.microsoft.com/en-us/library/ms683194(VS.85).aspx

猜你在找的C#相关文章