2

对于它们的实际差异,我对不同的术语感到困惑。它们各自是什么,它们的实际含义是什么?我在学校的 IT 老师前一天给了我们一个定义,第二天又给了我们一个定义,所以请你帮我解释一下。

谢谢。

4

1 回答 1

5

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

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

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

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

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

于 2014-04-23T19:21:25.087 回答