在多核CPU下,同一进程下的多个线程可以并行运行吗

 我来答
霸7威武
2018-06-26 · 知道合伙人数码行家
霸7威武
知道合伙人数码行家
采纳数:59377 获赞数:97668
今年入校,就读汽车专业。

向TA提问 私信TA
展开全部
  CPU在某一个时间点上确实只能执行一个线程,但是多线程不是由于多核或者双核才叫多线程。
  是由于,很多个线程在并行执行的时候,CPU根据一定的线程调度算法,频繁的进行线程切换,当正在执行的一个线程需要进行IO操作或者需要访问内存的时候,CPU完全可以放弃该线程,转而调度线程就绪队列上的其他线程,被放弃的线程则进入阻塞状态,IO操作或者访问内存操作结束之后,该线程可以进入线程就绪队列上。
  人们通常意义上的多线程指的是,由于CPU根据一定的线程调度算法来切换线程,所以在一个时间段上,可以看做很多线程在并发执行。
  其实还是在某一个时间点上只有一个线程在运行罢了。
reebokiverson7118a
2017-10-19 · 知道合伙人IT服务行家
reebokiverson7118a
知道合伙人IT服务行家
采纳数:514 获赞数:4536
中国社会大学毕业,基本上没怎么读过书,但拥有超强的记忆能力,建立了自己的大脑数据库,掌握生活一切知识

向TA提问 私信TA
展开全部
绝对可以,要不然为什么叫多核CPU,多核心就是为了同时分配线程需求进行工作,如果只能单一线程运行,要那么多核干嘛?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神殿丶无名
2018-07-04 · TA获得超过172个赞
知道答主
回答量:74
采纳率:63%
帮助的人:14.4万
引用霸7威武的回答:
  CPU在某一个时间点上确实只能执行一个线程,但是多线程不是由于多核或者双核才叫多线程。
  是由于,很多个线程在并行执行的时候,CPU根据一定的线程调度算法,频繁的进行线程切换,当正在执行的一个线程需要进行IO操作或者需要访问内存的时候,CPU完全可以放弃该线程,转而调度线程就绪队列上的其他线程,被放弃的线程则进入阻塞状态,IO操作或者访问内存操作结束之后,该线程可以进入线程就绪队列上。
  人们通常意义上的多线程指的是,由于CPU根据一定的线程调度算法来切换线程,所以在一个时间段上,可以看做很多线程在并发执行。
  其实还是在某一个时间点上只有一个线程在运行罢了。
展开全部
多核cpu也是多个线程,就一个线程在工作?那多核的用处呢?多核cpu应该是,在线程就绪后(非io,内存等待啥的),可运行线程在核心个数内,就是并行,就是一起运行,超了才会切换。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式