前些时间,为了配置合更加快速有效地制作Sphinx分词搜索的字典,我就着手写了一个分词库的管理就用软件,当在测试的时候,我测试的平台是单CPU,我启动的那个线程就基本上100%的占用了cpu,而系统就没有更多的资源来响应用户的基他操作,想来想去还是得修正一下,最好的我方法是,当CPU个数只有一个的时候,我就让那个子线程延时1毫秒,如果是双核或更多就不延时,今天重点是说,在C# winform 编程中获取cpu个数的方法,其实这些在C#编程平台中已有方法,现记录使用方法如下:
第一点:添加引用System.Management
第二点:代码中添加
using System.Management.Instrumentation;
using System.Management;
以上两点你必须得添加且正确添加,否则,在你的获取cpu个数的方法中会报一大堆的错哟...
第三点:具体的实现代码:
ManagementClass m = new ManagementClass("Win32_Processor"); ManagementObjectCollection mn = m.GetInstances(); MessageBox.Show("CPU个数:"+mn.Count.ToString()); ManagementObjectSearcher MySearcher = new ManagementObjectSearcher("SELECT * FROM Win32_Processor"); foreach (ManagementObject MyObject in MySearcher.Get()) { MessageBox.Show("主频:"+MyObject.Properties["CurrentClockSpeed"].Value.ToString()); }