◆进程
BOOL WINAPI SetProcessAffinityMask(
_In_ HANDLE hProcess,
_In_ DWORD_PTR dwProcessAffinityMask
);
(例)
// 当前进程只能在CPU 0上运行
SetProcessAffinityMask(GetCurrentProcess(), 0x00000001);
// 当前进程只能在CPU 0、1上运行
SetProcessAffinityMask(GetCurrentProcess(), 0x00000003);
◆线程
DWORD_PTR WINAPI SetThreadAffinityMask(
_In_ HANDLE hThread,
_In_ DWORD_PTR dwThreadAffinityMask
);
(例)
// 当前线程只能在CPU 1上运行
SetThreadAffinityMask(GetCurrentThread(), 0x00000002);
// 当前线程只能在CPU 0、2、3上运行
SetThreadAffinityMask(GetCurrentThread(), 0x0000000d);