我需要查询程序的CPU亲和性,并查找系统可用的CPU总数中分配的CPU数量。
std::thread::hardware_concurrency()
会返回一个不反映亲和力的值。是否有(快速)方式来查询流程关联性?
答案 0 :(得分:0)
似乎这样有效:
int getAffinityCount()
{
DWORD64 dwProcessAffinity, dwSystemAffinity;
GetProcessAffinityMask(GetCurrentProcess(), &dwProcessAffinity, &dwSystemAffinity);
return __popcnt64(dwProcessAffinity);
}