asio 瞭解的那一點事

技術從未如此性感發表於2018-12-27

asio裡面的io_service相當於一個任務佇列,該任務佇列裡面的任務的執行是需要建立io_service當前執行緒的來執行的。

可以通過io_service.post 等API 發出一個任務。

注意必須呼叫io_service.run poll等API 任務才能被執行。

當在一個執行緒裡面建立多個io_service的時候,可以通過不同的io_service post的任務,任務被驅動執行可以通過呼叫任何一個io_service的poll run等API

 比較類似android裡面的handler模型,當有一個任務組塞住了 ,後面的任務都會受到影響。

 

當一條執行緒裡面有多個io_service時候,不同io_service post的任務,必須呼叫對應的io_service poll才能執行

 

多條執行緒公用一個io_service時候 任務是由呼叫poll的執行緒執行的

 

任務是由呼叫poll的執行緒來執行的

 

 

相關文章