用戶執行緒

用戶執行緒

用戶執行緒指不需要核心支持而在用戶程式中實現的執行緒,其不依賴於作業系統核心,套用進程利用執行緒庫提供創建、同步、調度和管理執行緒的函式來控制用戶執行緒。

基本介紹

  • 中文名:用戶執行緒
  • 外文名:User Thread
  • 實現方式:在用戶層通過執行緒庫來實現
  • 優點:快速地創建和管理
  • 缺點:單核系統下,可能引起進程阻塞
用戶執行緒(user-level threads)指不需要核心支持而在用戶程式中實現的執行緒,其不依賴於作業系統核心,套用進程利用執行緒庫提供創建、同步、調度和管理執行緒的函式來控制用戶執行緒。這種執行緒甚至在象 DOS 這樣的作業系統中也可實現,但執行緒的調度需要用戶程式完成,這有些類似 Windows 3.x 的協作式多任務。
優點:1.執行緒位於用戶空間(即不需要模式切換)。
2.完全控制執行緒調度器(例如:網站伺服器)。
3.獨立於作業系統(執行緒可以在不支持它們的作業系統上運行)。
4.運行時系統(run time system)可以切換用戶空間中的本地阻塞執行緒(例如:等待另一個執行緒完成).
缺點:1.系統調度中,對一個執行緒的阻塞將會導致整個進程阻塞;(例如:當一個執行緒因 I/O 而處於等待狀態時,整個進程就會被調度程式切換為等待狀態,其他執行緒得不到運行的機會)
2.網站伺服器中,一個頁面的錯誤將導致整個進程阻塞。
3.非真正意義的執行緒並行(一個進程安排在單個CPU上)。
4.不存在時鐘中斷(例如,如果用戶執行緒是非搶占式(non-preemptive)的,將無法被“進程調度”(schedulers)以round-robin的調度算法調用,因為round-robin調度算法中限制了cpu時間片)。
用戶執行緒不需要額外的核心開支,並且用戶態執行緒的實現方式可以被定製或修改以適應特殊套用的要求,但是;而核心執行緒則沒有這個限制,有利於發揮多處理器的並發優勢,但卻占用了更多的系統開支。

相關詞條

熱門詞條

聯絡我們