我不知道如何在C ++中进行线程,我不会只是想知道这一点,但有没有办法可以强制一个线程进入另一个核心?另外,我如何知道用户拥有多少个核心?
答案 0 :(得分:4)
将线程绑定到任意CPU称为设置关联。这是与平台相关的操作。
对于Windows:SetProcessAffinityMask
对于pthread:pthread_attr_setaffinity_np(3)
和pthread_setaffinity_np(3)
对于Boost,您可以使用native_handle()
获取特定于平台的线程句柄,以便将它们与上述函数一起使用。