您的位置:首页 > 其它

限制某个进程只能在某个CPU上运行

2015-07-29 16:20 351 查看
首先可以调用GetSystemInfo查看有多少个CPU,再通过调用:

BOOL WINAPI SetProcessAffinityMask(
__in          HANDLE hProcess,
__in          DWORD_PTR dwProcessAffinityMask
);

BOOL WINAPI SetProcessAffinityMask(
__in          HANDLE hProcess,
__in          DWORD_PTR dwProcessAffinityMask
);


第一个参数是代表要设置的进程,第二个参数是一个掩码,代表可以在哪个CPU上运行。例如:设置5(101)代表在第一个和第三个CPU上运行。

还有其他几个相关的函数:

BOOL WINAPI GetProcessAffinityMask(
__in          HANDLE hProcess,
__out         PDWORD_PTR lpProcessAffinityMask,
__out         PDWORD_PTR lpSystemAffinityMask
);

BOOL WINAPI GetProcessAffinityMask(
__in          HANDLE hProcess,
__out         PDWORD_PTR lpProcessAffinityMask,
__out         PDWORD_PTR lpSystemAffinityMask
);


DWORD_PTR WINAPI SetThreadAffinityMask(
__in          HANDLE hThread,
__in          DWORD_PTR dwThreadAffinityMask
);

DWORD_PTR WINAPI SetThreadAffinityMask(
__in          HANDLE hThread,
__in          DWORD_PTR dwThreadAffinityMask
);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: