VB.net流程亲和力

时间:2012-11-05 21:28:34

标签: vb.net process affinity

目标:我的目标是将所有正在运行的进程的亲缘关系设置为1核心。然后启动一个具有所有核心亲和力的程序。

技能Lvl:我的编程技能水平一般都是初学者。这是我的第一语言。

需要:我想对此编码提供一些帮助,也许还有一些代码的文章或说明。谢谢

1 个答案:

答案 0 :(得分:1)

有一个C#解决方案here

总之,您需要遍历所有流程(Process.GetProcesses)并将其.ProcessorAffinity设置为New IntPtr(1),然后启动新流程。 (默认情况下已经使用了所有核心,但为了完整性,如果您希望新进程具有不同的关联,请在启动后以与上面相同的方式设置它。)

所有代码:

Dim procs = Process.GetProcesses
For Each p In procs
 p.ProcessorAffinity = New IntPtr(1)
Next
Dim myProc = Process.Start("notepad.exe")
' Stop here to answer the OP.
' This sets the new Notepad process to be the only process running on the second CPU:
myProc.ProcessorAffinity = New IntPtr(2)