多線程

多執行緒  ， 是指從軟件或者硬件上實現多個線程併發執行的技術 。 具有多線程能力的計算機因有硬體支援而能夠在同一時間執行多於一個線程 ， 進而提升整體處理效能 。 具有這種能力的系統包括對稱多處理機 、 多核心處理器以及芯片級多處理 （ Chip - level multithreading ） 或同時多線程 （ Simultaneous multithreading ） 處理器 。 軟件多線程 。 即便處理器只能運行一個線程 ， 操作系統也可以通過快速的在不同線程之間進行切換 ， 由於時間間隔很小 ， 來給用戶造成一種多個線程同時運行的假象 。 這樣的程序運行機制被稱爲軟件多線程 。 如微軟的Windows作業系統和Linux就是在各個不同的執行緒間來回切換 ， 被稱爲單人多工作業系統 。 而DOS這類文字介面作業系統在一個時間只能處理一項工作 ， 被視爲單人單工作業系統 。 除此之外 ， 許多系統及處理器也支持硬件多線程技術 。 對稱多處理機 （ SMP ） 系統具有多個處理器 ， 所以具有真正的同時執行多個線程的能力 ； CMP技術通過在一塊芯片上集成多個核心 （ Core ） 也具有真正的多線程能力 ； CMT技術則稍有不同 ， 有的是依靠硬件執行線程切換來獲得多線程能力 ， 操作系統不再負責線程切換 ， 因而這部分開銷可以減少甚至消除 ， 這方面典型的例子是Sun的UltraSPARC T1 ， 它同時綜合了CMP和CMT 。 微軟的Windows 2000以後的作業系統皆支援多執行緒與超執行緒技術 。