1. <wbr id="cnjas"><legend id="cnjas"></legend></wbr>

          Linux培訓
          達內IT學院

          400-111-8989

          linux線程之NGPT

          • 發布:Linux培訓
          • 來源:Linux基礎
          • 時間:2016-11-11 16:20

          NGPT

          說到這里, 也順便提一下NGPT(Next Generation POSIX Threads).

          前文提到的兩種線程庫使用的都是內核級線程(每個線程都對應內核中的一個調度實體), 這種模型稱為1:1模型(1個線程對應1個內核級線程);而NGPT則打算實現M:N模型(M個線程對應N個內核級線程),也就是說若干個線程可能是在同一個執行實體上實現的. 線程庫需要在一個內核提供的執行實體上抽象出若干個執行實體, 并實現它們之間的調度. 這樣被抽象出來的執行實體稱為用戶級線程.

          大體上, 這可以通過為每個用戶級線程分配一個棧, 然后通過longjmp的方式進行上下文切換. (百度一下”setjmp/longjmp”, 你就知道.)

          但是實際上要處理的細節問題非常之多.

          目前的NGPT好像并沒有實現所有預期的功能, 并且暫時也不準備去實現.

          用戶級線程的切換顯然要比內核級線程的切換快一些, 前者可能只是一個簡單的長跳轉, 而后者則需要保存/裝載寄存器, 進入然后退出內核態. (進程切換則還需要切換地址空間等.)

          而用戶級線程則不能享受多處理器, 因為多個用戶級線程對應到一個內核級線程上, 一個內核級線程在同一時刻只能運行在一個處理器上.

          不過, M:N的線程模型畢竟提供了這樣一種手段, 可以讓不需要并行執行的線程運行在一個內核級線程對應的若干個用戶級線程上, 可以節省它們的切換開銷.

          據說一些類UNIX系統(如Solaris)已經實現了比較成熟的M:N線程模型, 其性能比起linux的線程還是有著一定的優勢.

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:linux線程之NPTL
          下一篇:ping命令基礎知識

          linux線程之NPTL

          linux線程之linux threads

          關于linux線程

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2018 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          欧美做爰视频免费播放_做暖全过程免费的视频_性爱免费视频 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>