可否在代码中指定线程执行在哪个CPU

xingzhou 2008-04-25 03:59:55
目前的操作系统(windows)的CPU调度算法并不能充分利用多核优势(简单观测,双核CPU往往满负荷时,才50%,但鼠标响应已经有点困难了,同样,4核会是25%),所以,如果能够在程序中自己选择让线程运行在哪个CPU下,效果可能会更理想,但不知是否有这种可能,如何编码或有什么特殊指令呢?
...全文
319 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingzhou 2008-05-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Amuro1987218 的回复:]
//控制某个线程在哪个CPU上运行

DWORD_PTR SetThreadAffnityMask(HANDLE hThread, //线程句柄

DWORD_PTR dwThreadAffnityMask);//一个位屏蔽,指明要使用那些CPU
[/Quote]
多谢,我尝试下。
intel_zhenyuwang 2008-04-28
  • 打赏
  • 举报
回复
Intel TBB 暂时还不支持。
Amuro1987218 2008-04-25
  • 打赏
  • 举报
回复
http://blog.csdn.net/zfive5/archive/2007/01/31/1499378.aspx
可以参考这个.

上面回的有点问题.原型是
DWORD_PTR SetThreadAffinityMask(
HANDLE hThread,
DWORD_PTR dwThreadAffinityMask
);
Amuro1987218 2008-04-25
  • 打赏
  • 举报
回复
//控制某个线程在哪个CPU上运行

DWORD_PTR SetThreadAffnityMask(HANDLE hThread, //线程句柄

DWORD_PTR dwThreadAffnityMask);//一个位屏蔽,指明要使用那些CPU
xingzhou 2008-04-25
  • 打赏
  • 举报
回复
举个实际情况:
播放高清对CPU是个挑战,因为数据量太大,但如果能够让分离器、解码器、其他等渲染都分散在某个CPU,程序处理好数据之间的衔接,效率会大幅度上升。我们可能就不必看到1个CPU满负荷、其他CPU却闲着、画面不流畅的尴尬状况了。

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧