【问题标题】:Hyper-threading, Multi-threading, Multi-processing and Multi-tasking - Theory超线程、多线程、多处理和多任务 - 理论
【发布时间】:2014-04-23 18:40:46
【问题描述】:

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

谢谢。

【问题讨论】:

标签: multithreading multiprocessing multitasking hyperthreading


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-17
    • 2012-12-05
    • 2015-12-29
    • 2015-09-03
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多