社区
英特尔边缘计算技术
帖子详情
单线程程序是轮流应用多核资源么?
hesicong
2007-10-03 03:20:14
现在很多程序都是单线程应用程序,换句话说只对单核进行了优化。的确,这些软件在我的四核处理器上最大CPU占用率也就是25%,但从4个CPU占用的图像上来看,并不是独占了一个CPU的资源,而是4个CPU都有适当的CPU占用率。那么请问这个单线程的程序在4CPU上面用的话是轮流使用4个CPU的么?
...全文
602
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,可能会带来一些性能损失。而操作系统在调度时也会尽量考虑这些因素
单线程
与
多核
在自己没有动手测试之前,一直以为一个
单线程
程序
在
多核
处理器中只会在一个内核中运算。然而经过测试,其结果与我之前的理解并不一致,以下po出我的测试过程与结果。仅作为学习笔记,如遇大神,求指导讲解。 首先写个死循环如下: while(1) { } 执行、打开任务管理器、点击性能、点击
资源
监视器如下图: 这里我们的测试
程序
名为:Thread.exe,线程数显示为1,cpu 参数为25(即
Redis为什么是
单线程
的
https://www.cnblogs.com/tuyang1129/p/12822501.html 1.为什么需要多线程 首先,现在的CPU一般都是由多个核心组成,每个核心可以认为是一个独立的处理器,它们能够并行地处理任务。所以,如果我们的CPU是
多核
的,但是
程序
是
单线程
的,那么执行
程序
时,这个线程在某一个时刻只能在一个核心上运行,而其它的核心却是空闲的(如果没有其他
程序
的话)。所以,为了提高CPU的使用率,我们可以创建多个线程,每个线程处理任务的一部分(每个部分互不依赖),而每个核心执行一个线程,此时C
面试篇:redis为什么
单线程
1. 为什么需要多线程 首先,现在的CPU一般都是由多个核心组成,每个核心可以认为是一个独立的处理器,它们能够并行地处理任务。所以,如果我们的CPU是
多核
的,但是
程序
是
单线程
的,那么执行
程序
时,这个线程在某一个时刻只能在一个核心上运行,而其它的核心却是空闲的(如果没有其他
程序
的话)。所以,为了提高CPU的使用率,我们可以创建多个线程,每个线程处理任务的一部分(每个部分互不依赖),而每个核心执行一个线程,此时CPU的使用率将提高,
程序
的运行速度自然也就加快了。 除此之外,假设我们的
程序
有A、B、C三个
并发、并行、
单线程
、多线程的区别
并行和并发的区别 并发:一个处理器可以同时处理多个任务,这是逻辑上的同时发生。 并行:多个处理器同时处理多个不同的任务,这是物理上的同时发生。
英特尔边缘计算技术
568
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章