程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 限制某個進程只能在某個CPU上運行

限制某個進程只能在某個CPU上運行

編輯:C++入門知識

首先可以調用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
);

 

 

 


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved