多核CPU在处理单个单线程程序的时候速度不变。那在处理多个单线程程序的时候是只用一个核处理还是双核?

2025-04-13 11:15:57
推荐回答(4个)
回答1:

只要设置没错的话,一个单线程程序会占用一个核心,虽然有传说中的超线程技术是逻辑核心提升一倍,但是物理核心空闲时间有限,所以当两个单线程挤到一个物理核心里那就会很慢。所以,你问题的答案就是处理多个单线程程序时,在不存在超线程技术时会调用相应数量(小于等于物理核心数)的核心进行处理。

我觉得是多线程先被提出,但是多线程之前,还有一个超线程技术,也就是最早出现的奔四超线程技术,就是将单物理内核模拟为双逻辑内核,所以对于不支持多线程的软件在处理时仍然是单线程,但是因为超线程技术,会在处理单线程软件时,将另一个单线程软件拉进来处理,直到出现多线程程序,然后再出现多内核,然后多内核超线程。

回答2:

多核CPU当然是在处理多程序时才能体现出他的才长处了,处理一个程序和单核处理器是一样的,而且主频高的单核比主频低的多核更有效率,但在多程序同时运行时,CPU的多核都会调动起来同时工作,这样运行的整体速度就得到改善了

回答3:

有空看看操作系统原理,多线程程序早就有了,是一种程序设计方法,线程由操作系统调度,是基本的调度单位,操作系统分时段安排线程运行,才有了多任务操作系统。多核处理器允许一些线程运行在另外一些核心上,也就是说可以同时运行多个线程,和以前的单核相比必须考虑线程同步的问题,至于进程里面的线程安排在哪个CPU上,是由操作系统临时安排的。

回答4:

处理多任务时,多核心CPU的优越性能就发挥出来
单线程程序,CPU主频高会快点