社区
英特尔边缘计算技术
帖子详情
可否在代码中指定线程执行在哪个CPU
xingzhou
2008-04-25 03:59:55
目前的操作系统(windows)的CPU调度算法并不能充分利用多核优势(简单观测,双核CPU往往满负荷时,才50%,但鼠标响应已经有点困难了,同样,4核会是25%),所以,如果能够在程序中自己选择让线程运行在哪个CPU下,效果可能会更理想,但不知是否有这种可能,如何编码或有什么特殊指令呢?
...全文
389
5
打赏
收藏
可否在代码中指定线程执行在哪个CPU
目前的操作系统(windows)的CPU调度算法并不能充分利用多核优势(简单观测,双核CPU往往满负荷时,才50%,但鼠标响应已经有点困难了,同样,4核会是25%),所以,如果能够在程序中自己选择让线程运行在哪个CPU下,效果可能会更理想,但不知是否有这种可能,如何编码或有什么特殊指令呢?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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却闲着、画面不流畅的尴尬状况了。
CPU
独占内核运行方式实现,并
指定
线程
到特定
CPU
上
执行
操作系统实现
CPU
独占内核运行方式,确保进程具有高优先级和独占
CPU
运行的能力。这样可以提高系统的稳定性、安全性和效率。 如果想让特定进程或
线程
独占某一或某些
CPU
,我们需要做三件事: 1.隔离
CPU
,避免其它
线程
run在被隔离的
CPU
上 2.绑定所有的interrupts(
中
断)到非隔离的
CPU
上,避免被隔离的
CPU
收到interrupt 3.把特定的
线程
/进程 绑定到某一被隔离的
CPU
上
写程序 控制
cpu
占用率-4 绘制
CPU
使用率的正弦曲线2 通过C#
指定
线程
运行的
CPU
http://blog.csdn.net/weixingstudio/article/details/6870748 连接
中
的写了通过C#控制
CPU
的占用率。 通过C#还可以
指定
当前
线程
的运行在哪个
CPU
上。 通过 System.Diagnostics.Proc
java
指定
线程
执行
顺序
众所周知,
指定
java
线程
的
执行
顺序一般都是通过
线程
间的join方法 比如有3个
线程
,t1,t2,t3。 如果我们需要将
线程
执行
顺序调整为 t3 -> t2 -> t1。那么在t3的
线程
中
加入t2.join,t2的
线程
中
加入t1.join方式即可解决。 第二种方式我们可以用
线程
池解决。 public class ThreadYield extends Thread { ...
如何使用jstack分析
线程
状态
背景 记得前段时间,同事说他们测试环境的服务器
cpu
使用率一直处于100%,本地又没有什么接口调用,为什么会这样?
cpu
使用率居高不下,自然是有某些
线程
一直占用着
cpu
资源,那又如何查看占用
cpu
较高的
线程
? 当然一个正常的程序员不会写出上述
代码
,这里只是为了让一个
线程
占用较高的
cpu
资源。 top命令 在linux环境下,可以通过top命令查看各个进程的
cpu
使用情况,默认按
cpu
使用率排序 1、上图
中
可以看出pid为23344的java进程占用了较多的
cpu
资源; 2、通过top
Android 高通骁龙
CPU
线程
与
CPU
核的绑定
进程、
线程
绑定
cpu
核的问题,在这里将所学记录一下。高通骁龙采用1+3+4的超独特设计,Prime超大核、3个Kryo Gold核心和4个Kryo Silver核心。 其
中
0-3是Silver核芯,4-6是Gold核心,7是Prime超大核。 绑定核心的方法 通过bash指令绑定 这里以绑定Silver核0~3核为例: cd /dev/
cpu
set/top-app/ echo 0-3 >
cpu
s 通过sched_setaffinity函数来实现 与进程的情况相似,
线程
亲和性的设置和获取主要通.
英特尔边缘计算技术
568
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章