C++控制CPU核的使用

您所在的位置:网站首页 越南大使馆签证中心电话是多少 C++控制CPU核的使用

C++控制CPU核的使用

2024-06-21 06:08| 来源: 网络整理| 查看: 265

SetProcessAffinityMask 参数一:进程句柄 -1为自身句柄 参数二:指定CPU 参数二的设置是二进制转十进制。参数二需填写十进制数字 例如我想设置 1CPU二进制为1 转换为十进制为 1 2CPU二进制为10 转换为十进制为 2 3CPU二进制为100 转换为十进制为 4 4CPU二进制为1000 转换为十进制为 8 1,2CPU二进制为11 转换为十进制为 3 3,4CPU二进制为1100 转换为十进制为 12 123CPU二进制为1110 转换为十进制为 14 1234CPU二进制为1111 转换为十进制为 15

exp: SetProcessAffinityMask(GetCurrentProcess(),7)使用前三个核 SetProcessAffinityMask(GetCurrentProcess(),16)使用第五个核(如无第五个核则取小于16的最近的核组数,此时15即1234,这四个核)

获取系统总的核数并使用前n-1个核 SYSTEM_INFO info; GetSystemInfo(&info); int corenum = info.dwNumberOfProcessors;//计算核数法1

// int corenum2 = std::thread::hardware_concurrency();//计算核数法2

SetProcessAffinityMask(GetCurrentProcess(), pow(2, corenum-1)-1);


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3