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

不念不忘少年蓝@ 2021-12-16 13:33 371阅读 0赞

首先可以调用GetSystemInfo查看有多少个CPU,再通过调用:

  1. BOOL WINAPI SetProcessAffinityMask(
  2. __in HANDLE hProcess,
  3. __in DWORD_PTR dwProcessAffinityMask
  4. );

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

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

  1. BOOL WINAPI GetProcessAffinityMask(
  2. __in HANDLE hProcess,
  3. __out PDWORD_PTR lpProcessAffinityMask,
  4. __out PDWORD_PTR lpSystemAffinityMask
  5. );
  6. DWORD_PTR WINAPI SetThreadAffinityMask(
  7. __in HANDLE hThread,
  8. __in DWORD_PTR dwThreadAffinityMask
  9. );

发表评论

表情:
评论列表 (有 0 条评论,371人围观)

还没有评论,来说两句吧...

相关阅读