c# - 检索物理核心处理器的数量

标签 c# .net multithreading multicore processor

我知道我可以使用 System.Environment.ProcessorCount 返回机器中“处理器”的数量。我想做的是找出是否有办法确定处理器中的核心数量,不包括超线程作为“核心”。例如,在双核超线程处理器上,System.Environment.ProcessorCount 将返回 4,因为有 2 个物理内核,均具有超线程。我想做的是返回 2,因为只有 2 个物理内核。

顺便说一句,我正在使用 C#。

最佳答案

您可以使用WMI 获取系统中的内核数。这个关于堆栈溢出的类似问题包括一个代码示例:--> How to find the Number of CPU Cores via .NET/C#?

要牢记的重要一点是,在某些系统中,此值可能不可用;例如,在 Windows Server 2003 上,您需要从 Microsoft 下载修补程序才能使“NumberOfCores”正常工作。

关于c# - 检索物理核心处理器的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3464278/

相关文章:

.net - 故障模块名称 : vrfcore. dll,版本 : 6. 3.9600.16384 和异常代码:0x80000003

c# - 为 Windows 客户端(而非 Web 应用程序)打印的最佳方式?

.net - 在 Azure 云中部署不安全代码

java - Android 渲染和逻辑线程

.net - 为什么 Thread.Sleep(0) 可以解决我的问题,以及如何避免它?

c# - 使用 AWS 通过 UPC 进行产品查找以获取产品 ASIN

c# - 如何持久化实现状态模式的对象?

c# - 添加 Controller 时无法检索模型的元数据

ruby - 如何使用 rspec 测试多线程 TCPServer

c# - 如何获得拖放目标对象?