在两个核心上运行一个线程

时间:2010-02-26 10:14:22

标签: multithreading multicore

当前的体系结构是否支持在单个系统的多个核心上运行相同的单个线程?在这种情况下会涉及哪些问题?

5 个答案:

答案 0 :(得分:4)

不是我知道的。

一个线程可以在另一个核心上再次启动,但是一个线程本身不能并行运行。

如果你在一个可以并行运行的线程中有代码,你应该将它分成两个线程。

答案 1 :(得分:2)

这实际上会减慢线程的速度。每次线程切换核心时,都需要传输先前核心的所有状态。理想情况下,一个线程将保留在一个核心上。

您认为在多核上运行会有什么好处?

答案 2 :(得分:1)

不,我认为不存在这样的事情。

答案 3 :(得分:0)

它不存在,因为硬件不允许,但这是一个瓶颈,理论上可以通过英特尔的一些独创性消除。

答案 4 :(得分:0)

您基本上问,顺序指令是否自动并行化?有许多方法可以实现并行执行,具有基于工作负载的不同效率级别。这也可能发生在不同的层面,在μarch(与你的问题相关),ISA,操作系统等......

如果我能够正确地假设,并试图回答我相信你的要求。 理论上可行,但尚未在商用商品硬件上实施。因此,许多更高级别的并行化方法。