社区
进程/线程/DLL
帖子详情
单核CPU上的单线程和多线程
Daven172
2011-11-30 07:34:39
1、单核CPU上,
同一时刻
只能有一条线程运行 (10分)
2、单核CPU上运行的单线程程序和多线程程序,从运行效率上看没有差别 (10分)
3、多线程程序比单线程程序能获得更多的CPU时间片 (10分)
以上说法对吗?为什么?
(都不考虑超线程技术)
...全文
1148
11
打赏
收藏
单核CPU上的单线程和多线程
1、单核CPU上,同一时刻只能有一条线程运行 (10分) 2、单核CPU上运行的单线程程序和多线程程序,从运行效率上看没有差别 (10分) 3、多线程程序比单线程程序能获得更多的CPU时间片 (10分) 以上说法对吗?为什么? (都不考虑超线程技术)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dfasri
2011-12-16
打赏
举报
回复
[Quote=引用楼主 daven172 的回复:]
1、单核CPU上,同一时刻只能有一条线程运行 (10分)
2、单核CPU上运行的单线程程序和多线程程序,从运行效率上看没有差别 (10分)
3、多线程程序比单线程程序能获得更多的CPU时间片 (10分)
以上说法对吗?为什么?
(都不考虑超线程技术)
[/Quote]
1. 是同一时刻只能有一条线程运行
2. 要看具体情况, 假如线程都是内存操作, 不存在任何IO等待, 那么单线程效率是最高的, 但假如存在较多的IO等待, 多线程比单线程效率要高, 不论单核还是双核
3. 两个程序谁获得CPU时间片多, 要看当前程序是否为激活状态(例如界面), 也要看当前程序设置的优先级别.
明天去抢劫
2011-12-13
打赏
举报
回复
TRUE
FALSE 进程的线程越多,这个进程在系统里得到的时间片多
TRUE
kemee
2011-12-01
打赏
举报
回复
[Quote=引用 2 楼 tcige 的回复:]
还不考虑超线程,你懂htt吗,说来听听啊
[/Quote]
最近这类人越来越多了啊
chenjiawei007
2011-12-01
打赏
举报
回复
只说第三点
1)要考虑线程优先级
2) 按照默认标准的是每个线程分到差不多20ms的时间片,但是多线程要考虑多线程的上下文切换和同步的开销,所以在单核CPU上,单线程的效率更为突出。
百事烟
2011-11-30
打赏
举报
回复
1true
2flase
3看怎么说了,其实一样,又不一样
单cpu,比如有个写硬盘(或读光驱)的操作,多线程是必要的
Gloveing
2011-11-30
打赏
举报
回复
1 true
2 false
3 宏观上一般是的
haojj123
2011-11-30
打赏
举报
回复
但是,我觉得一个CPU就只能算是一个出口了
写不动代码的人
2011-11-30
打赏
举报
回复
打个比方:
一个超市只有一个收银员 (CPU)
多线程: 多个出口
单线程:一个出口
tcige
2011-11-30
打赏
举报
回复
还不考虑超线程,你懂htt吗,说来听听啊
sevancheng
2011-11-30
打赏
举报
回复
1 true
2 3 false
单核
cpu
多线程
有必要吗?
通常一个任务不光
cpu
上要花时间, io 上也要花时间(例如去数据库查数据,去抓网页,读写文件等)。 一个进程在等 io 的时候,
cpu
是闲置的,另一个进程正好可以利用
cpu
进行计算。 多几个进程一起跑,可以把 io 和
cpu
都跑满了。 现在一般都是虚拟资源,资源有弹缩机制,所以一般该跑
多线程
的时候就可以跑
多线程
。
单核
cpu
多线程
有必要吗? 问题分析# 现代计算机一般都是多...
为什么你的程序跑不满
CPU
?——简单聊聊多核
多线程
最近同事测试自己的程序,感觉处理耗时太长,一看
CPU
使用率,才25%。想要提高
CPU
使用率降低处理时长,于是向我询问。以此为契机写了这篇,聊聊多核
多线程
。
python
单线程
、
多线程
、多进程在
cpu
密集型情况下耗时对比,设置成
单核
cpu
效果
今天再对比下
单线程
、
多线程
、多进程再
cpu
密集型的情况下的耗时,果然有时候
多线程
比
单线程
还慢。。。还是多进程靠谱 import time from multiprocessing import Process from threading import Thread #装饰器计算函数执行时间 def count_time(fun): def warpper(*args): ...
多线程
为什么跑的比
单线程
还要慢?!
首先分配
cpu
资源的单位是进程。一个进程分配的
cpu
资源是一定的。 程序在执行的过程中消耗的是
cpu
,比如只有一个
单核
cpu
,多个线程同时执行工作时,需要不断切换执行,这就是线程的上下文切换,时间耗费更多,而
单线程
只是一个线程再跑。
多线程
提高的是并发数量,执行的是不变的,比如现在有一个4核
cpu
的服务器,同一时间可执行4个线程,这样处理线程任务 的速度比较快。但是多出来的线程,5个,6个,7个,...
单核
CPU
,
多线程
与性能
单核
CPU
,
多线程
与性能 问题概述
单核
CPU
的计算机上,
多线程
能够提高程序运行的性能吗? 这个问题看起来简单,实际很复杂,设计到多方面的因素. 首先我们要把概念搞清楚, 那就是什么是性能? 一般来说, 我们把运行一个任务所花的时间来评价性能, 所花的时间可以是在
CPU
上, 也可能是在I/O操作上, 运行任务的程序, 也可能同时在运行另外若干的任务(吞吐量). 这里我们把概念给缩小一下
进程/线程/DLL
15,465
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章