本文整合了网上关于这块讲解比较详细的文章,转载者请注明!
本文参照1:http://topic.okbase.net/201010/2010101414/3909990.html
本文参照2:http://blog.csdn.net/zfive5/article/details/1499378
实现方法
进程与指定cpu绑定:SetProcessAffinityMask(GetCurrentProcess(), dwMask);
线程与指定cpu绑定:SetThreadAffinityMask(GetCurrentThread(),dwMask);
dwMask为CPU序号的或运算值:1(0001)代表只运行在CPU1,2(0010)代表只运行在CPU2,3(0011)代表可以运行在CPU1和CPU2,以此类推。
设置之前最好判断一下系统有几个CPU:
SYSTEM_INFO SystemInfo;
GetSystemInfo(&SystemInfo);
CPU个数:SystemInfo.dwNumberOfProcessors

本文介绍了如何在Windows系统中通过SetProcessAffinityMask和SetThreadAffinityMask API将进程和线程绑定到特定CPU,以提高系统性能。内容包括API的使用方法、CPU亲缘性概念,以及在多CPU环境下应用示例,旨在优化多线程程序的执行效率。

1万+

被折叠的 条评论
为什么被折叠?



