这个例子是通过C#实现智能的CPU分配,比如我们的电脑是八核心的,我们电脑上运行了几个非常占用CPU的软件,我们希望他们不要挤在一块儿,因为有的程序默认是在CPU那个0里面,如果运行得多的话那么运行在这个CPU上的程序就会很卡很卡,我们需要将他们进行分配,我们的代码是根据进程的名字来分配的,自动从最高位开始分配,比如我的电脑
这八核心是从0到7的,我们希望从7开始分配,看代码吧。其中Pname就是进程的名字
/// <summary> /// 智能分配CPU 从高到低 从高到低分配 /// </summary> public static void fenpeiCPU() { #region 智能随机分配 try { Process[] ps = Process.GetProcessesByName(Pname); if (ps.Length > 0) { int zCPU = Environment.ProcessorCount;//总CPU颗数 int cCPU = zCPU;//当前分配到了哪一颗CPU for (int i = 0; i < ps.Length; i++)//进程数循环 { if (cCPU == 0) cCPU = zCPU - 1; else cCPU--; try { int p = (int)Math.Pow(2, cCPU); ps[i].ProcessorAffinity = (IntPtr)p; } catch { } } } } catch { } #endregion }