我有一个四核 CPU,可以说我总是想Thread
在第二个核心上启动一个。
这在 C# 中可能吗?
是的,看看ProcessorAffinity property
线程。
是的。查看ProcessorAffinity
Windows 或 Xbox SetProcessorAffinity
XNA。
这也在另一个Stackoverflow 问题上进行了讨论。
流程集ProcessorAffinity
:
0x0001 = 0000 0001 - run on 1st core
↑
0x0002 = 0000 0010 - run on 2nd core
↑
0x0003 = 0000 0011 - run on 1st and 2nd core
↑↑
0x0004 = 0000 0100 - run on 3rd core
↑
简单代码:
using (var process = Process.GetCurrentProcess())
{
// only run on core number 1
process.ProcessorAffinity = (IntPtr) 0x0001;
}