使用者級執行緒和核心級執行緒

2021-07-16 13:26:51 字數 606 閱讀 2740

執行緒分為使用者級執行緒和核心級執行緒。

使用者級執行緒是由使用者空間的執行緒庫實現的,管理執行緒的資料結構都在使用者空間。

使用者級執行緒不被核心所感知,即核心不知道使用者級執行緒的存在。所以不能實現真正的並行。

核心級執行緒的建立、排程等都是由作業系統實現的。進行執行緒管理操作時需要處於核心態。

使用者級執行緒的優缺點:

優點:2.排程可以是應用程式相關的。即乙個程序內的執行緒的排程。

3.可以在任何作業系統中執行(只要執行緒庫支援),不需要對底層核心程序修改。(可移植性強)

缺點:1.使用者級執行緒構成的多執行緒應用程式,無法利用多處理器技術,無法實現真正的並行。(核心不知道使用者級執行緒的存在)

2.當使用者級執行緒被阻塞時,整個程序中的所有執行緒都會被阻塞。

核心級執行緒的優缺點:

正好和使用者級執行緒的優缺點相反。

優點:1.可以同時把乙個程序中的多個執行緒排程到多個處理器中,實現真正的並行。

2.如果程序中的乙個執行緒阻塞,核心可以排程同乙個程序中的另乙個執行緒使用cpu。

3.核心例程自身也可以是多執行緒的。

缺點:優缺點也就是使用者級執行緒和核心級執行緒的區別。

使用者級執行緒和核心級執行緒

根據在使用者空間還是在核心實現多執行緒機制,執行緒又被分為使用者級執行緒 user level thread 和核心級執行緒 kernel level thread 有關執行緒的所有管理工作都有在使用者級實現的執行緒庫來支援。使用者級執行緒庫是用於使用者級執行緒管理的例程包,支援執行緒的建立 終止,...

使用者級執行緒和核心級執行緒

執行緒有3種實現模型 使用者級或應用程式級執行緒 核心級執行緒 使用者級和核心級混合執行緒 圖6 1顯示了3種執行緒實現模型。圖6 1 a 顯示了使用者級執行緒,圖6 1 b 顯示了核心級執行緒,圖6 1 c 則顯示了使用者執行緒和核心執行緒的混合。這些實現之間的較大的區別之一就是它們的模式以及要指...

使用者級執行緒和核心級執行緒

6.1.1 使用者級執行緒和核心級執行緒 執行緒有3種實現模型 使用者級或應用程式級執行緒 核心級執行緒 使用者級和核心級混合執行緒 圖6 1顯示了3種執行緒實現模型。圖6 1 a 顯示了使用者級執行緒,圖6 1 b 顯示了核心級執行緒,圖6 1 c 則顯示了使用者執行緒和核心執行緒的混合。這些實現...