Windows中为进程或线程指定CPU的API

◆进程

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);

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注