作業系統中多工和多執行緒的區別


多工多執行緒都是與計算機作業系統相關的概念。多工和多執行緒之間的一個主要區別在於,多工允許計算機的 CPU 同時執行多個任務,而多執行緒允許 CPU 同時執行同一程序的多個執行緒。

閱讀本文,瞭解有關多工和多執行緒的更多資訊,以及它們之間是如何不同的。讓我們先從一些基礎知識開始。

什麼是多工?

當單個 CPU 允許同時執行多個任務時,稱為多工。在多工處理中,CPU 以很快的速度在不同的任務之間切換,以便使用者可以同時與每個任務互動。多工是作業系統的概念。具有多工作業系統的計算機系統允許多個使用者同時共享系統。

在多工處理中,CPU 在任務之間非常快速地切換,因此從一個使用者切換到另一個使用者所需的時間非常短。因此,對於使用者而言,整個系統似乎都專屬於他。

什麼是多執行緒?

當單個 CPU 允許同時執行單個任務的多個執行緒時,稱為多執行緒。在討論多執行緒之前,我們首先要知道什麼是執行緒?在作業系統的上下文中,執行緒是一個基本的執行單元,它擁有自己的程式計數器、一組暫存器,但它共享其所屬程序的資料和程式碼。

簡單來說,執行緒是程序的一個小的可執行單元,可以由 CPU 單獨處理。當 CPU 在單個程序的多個執行緒之間快速切換,以至於看起來執行緒是在同時執行時,就被稱為多執行緒。

多工和多執行緒的區別

下表突出了多工和多執行緒之間的一些重要區別:

多工 多執行緒
在多工處理中,使用者可以透過 CPU 執行多個任務。 在多執行緒中,從一個程序建立多個執行緒。
多工涉及 CPU 在任務之間切換。 多執行緒涉及 CPU 線上程之間切換。因此,計算機的效能得到了提升。
在多工處理中,程序共享單獨的記憶體位置。 在多執行緒中,程序分配相同的記憶體。
多工涉及多處理。 多執行緒不涉及多處理。
CPU 用於同時執行許多工。 CPU 用於在特定時間執行多個執行緒。
程序不共享相同的資源。 多個執行緒共享相同的資源。
每個程序都被分配了自己的資源。 每個程序彼此共享同一組資源。
與多執行緒相比,多工處理速度較慢。 多執行緒速度很快。
終止程序需要更多時間。 終止執行緒需要較少時間。

結論

多工和多執行緒的目的都是相同的,即提高 CPU 利用率和系統性能。多工和多執行緒之間最顯著的區別在於,多工涉及 CPU 在任務之間切換,而多執行緒涉及 CPU 線上程之間切換。

更新於:2022-12-14

4K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.