gpt4 book ai didi

windows - 对于超过 32 个内核的系统,如何替换 SetProcessAffinityMask()/GetProcessAffinityMask()?

转载 作者:可可西里 更新时间:2023-11-01 10:28:54 25 4
gpt4 key购买 nike

SetProcessAffinityMask() function接受 DWORD 掩码,因此它不能在超过 32 个处理器的系统上正确使用。

看起来像SetThreadGroupAffinity()旨在以某种方式解决问题,但我找不到任何有用的代码示例来说明其用法?

对于超过 32 个处理器的系统,如何使用 SetProcessAffinityMask()/GetProcessAffinityMask() 调整我的程序?有代码示例吗?

最佳答案

首先 SetProcessAffinityMask() 接受 DWORD_PTR。由于 32 位版本的操作系统不支持 >32 核,这意味着您在谈论 64 位操作系统。因此,SetProcessAffinityMask() 的实际限制为 64。

至于怎么处理 >64 我觉得Supporting Systems That Have More Than 64 Processors白皮书将告诉您您需要了解的内容。


编辑

您在评论中声明您的代码是在 64 位操作系统上运行的 32 位代码。

据我了解,如果您在 64 位操作系统上的 32 位模拟器中运行,则对非常细粒度的控制的支持有限。假设是,如果您想利用这些新功能,您应该停止使用模拟器。

关于windows - 对于超过 32 个内核的系统,如何替换 SetProcessAffinityMask()/GetProcessAffinityMask()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5406782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com