【问题标题】:creating thread on another core? (WinAPI)在另一个核心上创建线程? (WinAPI)
【发布时间】:2010-05-22 22:16:06
【问题描述】:

我想知道是否有一种方法可以在单独的内核上运行线程,而不仅仅是在该内核上运行线程? 谢谢

【问题讨论】:

    标签: c++ c winapi


    【解决方案1】:

    如果您创建一个线程,默认情况下您无法控制它将运行哪个内核。操作系统的调度算法会处理这个问题,并且非常擅长它的工作。但是,您可以使用SetThreadAffinity WinAPI 来指定允许线程运行的逻辑内核。

    除非你有充分的理由,否则不要这样做。引用 MSDN:

    为进程或线程设置关联掩码可能会导致线程接收更少的处理器时间,因为系统被限制在某些处理器上运行线程。在大多数情况下,最好让系统选择可用的处理器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-06
      • 2018-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-20
      • 2013-08-19
      • 1970-01-01
      相关资源
      最近更新 更多