如何在特定核心上启动线程?

我有一个四核CPU,让我说我总是希望在第二个核心上启动一个Thread

这可能在C#中吗?

是。 查看适用于Windows的ProcessorAffinity或适用于XBox XNA的SetProcessorAffinity

这也在另一个Stackoverflow问题上讨论过。

是的,请查看该线程的ProcessorAffinity property

设置进程的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; } 
Interesting Posts