首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SetThreadAffinityMask就是ignored....any ideas?

SetThreadAffinityMask就是ignored....any ideas?
EN

Stack Overflow用户
提问于 2009-04-18 05:29:48
回答 3查看 2.7K关注 0票数 1

更新:我发现了问题--令人尴尬/具有讽刺意味的是,它是在错误的线程中调用SetThreadAffinity(),而不是在主线程中调用(程序启动很混乱...)

现在一切都正常了,谢谢你的帮助!我给了每个人一张赞成票,让他们参加我的小调试会议。

EN

回答 3

Stack Overflow用户

发布于 2009-04-18 05:43:30

这样调用有什么不同吗?:

代码语言:javascript
复制
DWORD_PTR mask = 1; 
SetThreadAffinityMask(GetCurrentThread(), mask);

你的线程句柄有必要的access rights

Windows Server2003和Windows XP/2000:句柄必须具有THREAD_SET_INFORMATION和THREAD_QUERY_INFORMATION访问权限。

票数 1
EN

Stack Overflow用户

发布于 2009-04-18 07:47:18

虽然我已经用了几个月了,但是我在这个函数上没有遇到任何问题。

以下是您可能需要检查的一些内容:

SetThreadAffinityMask

  • If和
  • 没有冲突如果处理器2上有一个线程,则程序的其余部分可以使用processor 1
  • Display GetCurrentProcessorNumber来测试它是否在正确的SetProcessAffinityMask上运行。
票数 1
EN

Stack Overflow用户

发布于 2009-04-18 07:59:40

您现在所做的似乎是正确的,您是否可以尝试使用 SetThreadIdealProcessor

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/762961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档