亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

ioriiod0/orchid · GitHub

系統 2174 0

ioriiod0/orchid · GitHub

什么是orchid?

orchid是一個構建于強大的boost庫基礎上的C++庫,類似于python下的gevent/eventlet,為用戶提供基于協程的并發模型。

什么是協程:

協程,顧名思義,協作式程序,其思想是,一系列互相依賴的協程間依次使用CPU,每次只有一個協程工作,而其他協程處于休眠狀態。協程在控制離開時暫停執行,當控制再次進入時只能從離開的位置繼續執行。 協程已經被證明是一種非常有用的程序組件,不僅被python、lua、ruby等腳本語言廣泛采用,而且被新一代面向多核的編程語言如golang rust-lang等采用作為并發的基本單位。

協程可以被認為是一種用戶空間線程,與傳統的搶占式線程相比,有2個主要的優點:

  • 與線程不同,協程是自己主動讓出CPU,并交付他期望的下一個協程運行,而不是在任何時候都有可能被系統調度打斷。因此協程的使用更加清晰易懂,并且多數情況下不需要鎖機制。
  • 與線程相比,協程的切換由程序控制,發生在用戶空間而非內核空間,因此切換的代價非常的小。

green化

術語“green化”來自于python下著名的協程庫greenlet,指改造IO對象以能和協程配合。某種意義上,協程與線程的關系類似與線程與進程的關系,多個協程會在同一個線程的上下文之中運行。因此,當出現IO操作的時候,為了能夠與協程相互配合,只阻塞當前協程而非整個線程,需要將io對象“green化”。目前orchid提供的green化的io對象包括:

  • tcp socket(還不支持udp)
  • descriptor(目前僅支持非文件類型文件描述符,如管道和標準輸入/輸出,文件類型的支持會在以后版本添加)
  • timer (定時器)
  • signal (信號)

chan:協程間通信

chan這個概念引用自golang的chan。每個協程是一個獨立的執行單元,為了能夠方便協程之間的通信/同步,orchid提供了chan這種機制。chan本質上是一個阻塞消息隊列,后面我們將看到,chan不僅可以用于同一個調度器上的協程之間的通信,而且可以用于不同調度器上的協程之間的通信。

多核

建議使用的scheduler per cpu的的模型來支持多核的機器,即為每個CPU核心分配一個調度器,有多少核心就創建多少個調度器。不同調度器的協程之間也可以通過chan來通信。協程應該被創建在哪個調度器里由用戶自己決定。

進一步信息請閱讀doc目錄下tutorial。如果您發現任何bug或者有任何改進意見,請聯系 ioriiod0@gmail.com

ioriiod0/orchid · GitHub


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 天天爽夜夜爽视频 | 精品久久久在线观看 | 欧美在线日韩 | 国产视频999 | 日日私人影院 | 亚洲码欧美码一区二区三区 | 久久艹伊人 | 97久久影院 | 欧美一级在线播放 | 91久久精品视频 | 国产一级特黄一级毛片 | 九九手机视频 | 亚洲精品久久久成人 | 一级毛片高清免费播放 | 天天干夜夜艹 | 国产精品人成在线播放新网站 | 久久久久女人精品毛片九一 | 夜夜骑加勒比 | 欧美日本一本线在线观看 | 国产精品一区二区免费 | 伊人久久大杳蕉综合大象 | 视频二区 素人 欧美 日韩 | 综合色婷婷| 久久99热这里只有精品免费看 | 午夜男人影院 | 深夜男人影院 | 亚洲精品国产国语 | 韩国一大片a毛片 | jizzjizz女人中国 | 国产一区二区三区免费看 | 泰国一级毛片aaa下面毛多 | 国产精品你懂得 | 亚洲人成一区二区三区 | 亚州色吧| 国产福利一区二区在线精品 | 国产亚洲高清在线精品99 | 九九免费在线视频 | 一级毛片无毒不卡直接观看 | 久久久久欧美精品三级 | 国产dvd毛片在线视频 | 日本不卡一二三区 |