社区
英特尔边缘计算技术
帖子详情
单线程程序是轮流应用多核资源么?
hesicong
2007-10-03 03:20:14
现在很多程序都是单线程应用程序,换句话说只对单核进行了优化。的确,这些软件在我的四核处理器上最大CPU占用率也就是25%,但从4个CPU占用的图像上来看,并不是独占了一个CPU的资源,而是4个CPU都有适当的CPU占用率。那么请问这个单线程的程序在4CPU上面用的话是轮流使用4个CPU的么?
...全文
502
6
打赏
收藏
单线程程序是轮流应用多核资源么?
现在很多程序都是单线程应用程序,换句话说只对单核进行了优化。的确,这些软件在我的四核处理器上最大CPU占用率也就是25%,但从4个CPU占用的图像上来看,并不是独占了一个CPU的资源,而是4个CPU都有适当的CPU占用率。那么请问这个单线程的程序在4CPU上面用的话是轮流使用4个CPU的么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mengmengswat
2007-11-09
打赏
举报
回复
肯定是OS进行调度,不一定轮流执行,多核的话就不会对一个核心实行负载,应该是平均分配,再深入的话就不太清楚了,OS内部的问题.
oldmanzhao
2007-11-04
打赏
举报
回复
多核就相当于多处理器,其实一个道理。
zhangyixian525
2007-11-04
打赏
举报
回复
对于CPU的资源调度确实是由操作系统来完成的。这个问题不管是单核还是多核都是一样。
在单线程运行在多核的情况下肯定会比运行在单核下的速度快。这种速度的提高是由哪种情况来决定的呢?
我觉得可能是操作是有一套机制可以把单线程的分布执行,充分发挥处理器的运行效率。请高人指点!
oldmanzhao
2007-10-31
打赏
举报
回复
这个要看OS的调度吧
DentistryDoctor
2007-10-30
打赏
举报
回复
这个不确定的。
大多数应用在针对多核进行优化后应该可以提升不少的性能。
fenggf
2007-10-04
打赏
举报
回复
至于线程在运行期占用哪一个处理器,是由操作系统调度来控制的,并不一定具有确定性。当系统中还运行有其它大的应用时,一个单线程应用在四核的系统中,也不会在四个核上平均分布,而时由OS根据负载来决定。如在LINUX中,注意观察每个处理器或核上都会有一个migration的进程,它是负责根据系统当前负载将本处理器上的进程迁移到别的处理器上。
当然用户也可以使用一些API将进程捆绑到特定的处理器或核,尤其是当使用SMP系统时,进程在处理器之间的调度,意味着应用要重新“加热”cache,可能会带来一些性能损失。而操作系统在调度时也会尽量考虑这些因素
03
多核
编程基本概念
INTEL 软件学院讲解INTEL工具的PPT系列: 01 Intel 处理器结构 02 Intel 编译器、vtune 03
多核
编程基本概念 04 用OpenMP编程 05 Thread building block 06 Thread checker 07 Thread profiler 分开上传,大家看需求下载
并发编程 50 道面试题及答案.docx
并发编程 50 道面试题及答案.docx
Java并发编程最全面试题 123道.pdf
面试题
并发编程 80 道面试题及答案.docx
并发编程 80 道面试题及答案.docx
单线程
与
多核
在自己没有动手测试之前,一直以为一个
单线程
程序
在
多核
处理器中只会在一个内核中运算。然而经过测试,其结果与我之前的理解并不一致,以下po出我的测试过程与结果。仅作为学习笔记,如遇大神,求指导讲解。 首先写个死循环如下: while(1) { } 执行、打开任务管理器、点击性能、点击
资源
监视器如下图: 这里我们的测试
程序
名为:Thread.exe,线程数显示为1,cpu 参数为25(即
英特尔边缘计算技术
568
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章