核心執行緒和使用者執行緒的卻別

2021-06-27 05:48:08 字數 575 閱讀 4924

核心執行緒

建立和銷毀都是由作業系統負責、通過系統呼叫完成的,作業系統在排程時,參考各程序內的執行緒運**況做出排程決定,如果乙個程序中沒有就緒態的執行緒,那麼這個程序也不會被排程占用cpu。

使用者執行緒

指不需要核心支援而在使用者程式中實現的執行緒,其不依賴於作業系統核心,使用者程序利用執行緒庫提供建立、同步、排程和管理執行緒的函式來控制使用者執行緒

引入使用者執行緒,有以下四個方面的優勢:

(1)       可以在不支援執行緒的作業系統中實現。

(2)       建立和銷毀執行緒、執行緒切換代價等執行緒管理的代價比核心執行緒少得多。

(3)       允許每個程序定製自己的排程演算法,執行緒管理比較靈活。

(4)       執行緒能夠利用的表空間和堆疊空間比核心級執行緒多。

使用者執行緒的缺點主要有以下兩點:

(1)       同一程序中只能同時有乙個執行緒在執行,如果有乙個執行緒使用了系統呼叫而阻塞,那麼整個程序都會被掛起。

(2)       頁面失效也會產生類似的問題。

核心執行緒的優缺點剛好跟使用者執行緒相反。實際上,作業系統可以使用混合的方式來實現執行緒。

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

讀書看到下面這一段,不太理解,就搜了一下,學了很多東西。img 執行緒的實現可以分為兩類 使用者級執行緒 user level thread 和核心線執行緒 kernel level thread 後者又稱為核心支援的執行緒或輕量級程序.使用者執行緒指不需要核心支援而在使用者程式中實現的執行緒,其不...

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

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

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

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