超线程,多线程,多处理和多任务 - 理论

时间:2014-04-23 18:40:47

标签: multithreading multiprocessing multitasking hyperthreading

我对他们实际差异的不同条款感到困惑。它们各自是什么,它们实际上意味着什么?我在学校的IT老师给了我们一个定义,另一个定义了下一个定义,所以请你能为我解释一下。

感谢。

1 个答案:

答案 0 :(得分:2)

线程是由机器执行的一系列程序指令。

当程序的单次执行有多个线程时,我们称一个程序多线程

可以在单处理器计算机上模拟多线程:处理器在系统的调度策略和程序本身确定的时间之间切换各个线程之间的注意力。我说“模拟”,但就程序员而言,在单处理器系统上运行的正确同步的多线程程序的行为与在多处理器系统上运行的相同程序之间几乎没有区别。

多处理器系统有多个CPU(CPU也称为“内核”)。在任何给定时刻,每个CPU可能正在执行同一程序的不同线程。或者,不同的CPU可能正在执行不同的程序。

超线程模糊了单处理器系统和多处理器系统之间的区别。超线程处理器就像连接双胞胎:它们具有独立处理器的一些属性(例如,每个处理器都有自己的完整寄存器集),但它们共享一些功能单元。超线程是一个硬件设计问题,在应用程序级别是不可见的。将其视为一种可以更有效地利用可用硅的技巧。