在 Windows 7 上的程序中强制使用特定的 CPU 核心

cal*_*pto 4 windows-7 cpu-usage compile

鉴于我知道至少有两个内核,有没有办法强制程序在 cpu1 而不是 cpu0 上运行?

我在 Windows 7 x64 上用 code::blocks 编译 C++

kob*_*ltz 8

我知道您可以调出任务管理器并查找正在运行的应用程序。右键单击任务管理器中的应用程序并选择 Affinity。

在此处输入图片说明

然后您可以选择要使用的处理器。

在此处输入图片说明


shf*_*301 5

是的,Windows API 中有:SetProcessAffinityMask()。您还可以使用任务管理器设置进程关联,如下所示

您想要这样做的正当理由并不多。操作系统通常可以很好地在正确的 CPU 上调度程序。

  • 有 [SetThreadAffinityMask(),](http://msdn.microsoft.com/en-us/library/ms686247%28v=vs.85%29.aspx) 但很可能 STALKER 没有使用它。他们只是将计算从他们的主游戏逻辑线程中移出,并将其放入自己的专用线程中,并让操作系统处理在不同 CPU 上调度线程。 (2认同)