我们可以获得与处理器相关的多种不同信息
物理处理器数量核心数量 逻辑处理器的数量这些都可以不同;以启用2个双核超线程的机器为例处理器,有 2 个物理处理器、4 个核心和 8 个逻辑处理器。
逻辑处理器的数量可以通过 environment 类获得,但是其他信息只能通过 wmi 获得(并且您可能需要安装一些在一些系统上,需要安装热修补或服务包才能进行操作)−
在您的项目中添加对system.management.dll的引用。在.net core中,这是作为一个nuget包(仅限windows)提供的。
物理处理器示例class program{ public static void main(){ foreach (var item in new system.management.managementobjectsearcher("select * from win32_computersystem").get()){ console.writeline("number of physical processors: {0} ", item["numberofprocessors"]); } console.readline(); }}
输出number of physical processors: 1
核心class program{ public static void main(){ int corecount = 0; foreach (var item in new system.management.managementobjectsearcher("select * from win32_processor").get()){ corecount += int.parse(item["numberofcores"].tostring()); } console.writeline("number of cores: {0}", corecount); console.readline(); }}
输出number of cores: 2
逻辑处理器class program{ public static void main(){ console.writeline("number of logical processors: {0}", environment.processorcount); console.readline(); }}
输出number of logical processors: 4
以上就是如何在c#中找到cpu核心数?的详细内容。