【发布时间】:2010-05-22 22:16:06
【问题描述】:
我想知道是否有一种方法可以在单独的内核上运行线程,而不仅仅是在该内核上运行线程? 谢谢
【问题讨论】:
我想知道是否有一种方法可以在单独的内核上运行线程,而不仅仅是在该内核上运行线程? 谢谢
【问题讨论】:
如果您创建一个线程,默认情况下您无法控制它将运行哪个内核。操作系统的调度算法会处理这个问题,并且非常擅长它的工作。但是,您可以使用SetThreadAffinity WinAPI 来指定允许线程运行的逻辑内核。
除非你有充分的理由,否则不要这样做。引用 MSDN:
为进程或线程设置关联掩码可能会导致线程接收更少的处理器时间,因为系统被限制在某些处理器上运行线程。在大多数情况下,最好让系统选择可用的处理器。
【讨论】: