Win32 c ++:获取进程CPU亲和性?

时间:2017-11-27 04:48:39

标签: c++ process cpu affinity

我需要查询程序的CPU亲和性,并查找系统可用的CPU总数中分配的CPU数量。

std::thread::hardware_concurrency()会返回一个不反映亲和力的值。是否有(快速)方式来查询流程关联性?

1 个答案:

答案 0 :(得分:0)

似乎这样有效:

int getAffinityCount()
{
    DWORD64 dwProcessAffinity, dwSystemAffinity;
    GetProcessAffinityMask(GetCurrentProcess(), &dwProcessAffinity, &dwSystemAffinity);
    return __popcnt64(dwProcessAffinity);
}