多執行緒模型
多執行緒允許程式的多個部分同時執行。這些部分稱為執行緒,是程序中可用的輕量級程序。因此,多執行緒透過多工處理導致 CPU 的最大利用率。
多執行緒的主要模型是一對一模型、多對一模型和多對多模型。這些模型的詳細資訊如下所示:
一對一模型
一對一模型將每個使用者執行緒對映到一個核心執行緒。這意味著許多執行緒可以在多處理器上並行執行,並且當一個執行緒進行阻塞系統呼叫時,其他執行緒可以執行。
一對一模型的一個缺點是建立使用者執行緒需要相應的核心執行緒。由於大量的核心執行緒會給系統帶來負擔,因此係統中執行緒的數量受到限制。
演示一對一模型的圖表如下所示:
多對一模型
多對一模型將多個使用者執行緒對映到一個核心執行緒。此模型非常高效,因為使用者空間管理執行緒管理。
多對一模型的一個缺點是執行緒阻塞系統呼叫會阻塞整個程序。此外,由於一次只有一個執行緒可以訪問核心,因此多個執行緒無法並行執行。
演示多對一模型的圖表如下所示:
多對多模型
多對多模型將多個使用者執行緒對映到相同數量或更少的核心執行緒。核心執行緒的數量取決於應用程式或機器。
多對多模型沒有一對一模型或多對一模型的缺點。可以根據需要建立任意數量的使用者執行緒,並且它們相應的核心執行緒可以在多處理器上並行執行。
演示多對多模型的圖表如下所示:
廣告