2
目標:我的目標是將所有正在運行的進程的關聯設置爲1個核心。然後用所有核心的親和力啓動一個程序。VB.net Process Affinity
技能等級:我在編程方面的技能水平一般都是初學者。這是我的第一語言。
需要:我希望得到一些關於這個編碼的幫助,也許還有一些文章或代碼的描述。謝謝
目標:我的目標是將所有正在運行的進程的關聯設置爲1個核心。然後用所有核心的親和力啓動一個程序。VB.net Process Affinity
技能等級:我在編程方面的技能水平一般都是初學者。這是我的第一語言。
需要:我希望得到一些關於這個編碼的幫助,也許還有一些文章或代碼的描述。謝謝
有一個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)