什麼是作業系統中的多執行緒模型?


**多執行緒**是指將一個程序分解成多個較小的任務。每個任務都表示為或稱為“執行緒”。這意味著執行緒是程序的輕量級版本。一個程序中同時執行的多個執行緒稱為“多執行緒”。

作業系統的額外功能是支援多執行緒。

根據功能,執行緒可分為四類,如下所示:

  • 一個程序,一個執行緒。

  • 一個程序,多個執行緒。

  • 多個程序,每個程序一個執行緒。

  • 多個程序,每個程序多個執行緒。

讓我們看看以上功能如何在圖示中表示:

  • **一個程序,一個執行緒** - 這是傳統方法,其中程序只維護一個執行緒,因此稱為單執行緒方法。**例如** - MS-DOS 作業系統支援一個執行緒,一個程序的方法。

  • **一個程序,多個執行緒** - 在這裡,一個程序被分成多個執行緒。**例如** - JAVA 執行時環境。

  • **多個程序,每個程序一個執行緒** - 作業系統支援多個使用者程序,但每個程序只支援一個執行緒。**例如** - UNIX 作業系統。

  • **多個程序,每個程序多個執行緒** - 在這裡,每個程序都被分成多個執行緒。**例如** - Windows 2000,Solaris LINUX。

區別

程序和執行緒的主要區別如下:

程序執行緒
程序不能共享相同的記憶體區域,這意味著它不能共享地址空間。執行緒可以共享記憶體和檔案。
建立程序需要更多時間。建立執行緒需要更少時間。
完成執行並終止也需要更多時間。終止需要更少時間。
執行速度非常慢執行速度非常快。
在兩個程序之間切換需要更多時間在兩個執行緒之間切換需要更少時間。
實現程序之間的通訊有點困難。兩個執行緒之間的通訊非常易於實現,因為執行緒共享記憶體。
需要系統呼叫才能相互通訊。不需要系統呼叫。
程序是鬆散耦合的執行緒是緊密耦合的。
執行需要更多資源。需要更少的資源,因此我們通常稱執行緒為輕量級程序。
程序不適合並行活動適合並行活動。

更新於: 2021-11-30

2K+ 瀏覽量

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.