C++ boost协程技术介绍
生活随笔
收集整理的這篇文章主要介紹了
C++ boost协程技术介绍
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
??協(xié)程在C++20中已經(jīng)加入了,但并不完善,C++標準庫的協(xié)程將在C++23中正式推出。其它語言,例如go、python也是默認支持協(xié)程,C++相對來說落后了。
??Boost在1.53版本就推出了協(xié)程庫,本篇博客基于Boost1.76版本,來介紹協(xié)程庫。1.53版本的BoostCoroutine 現(xiàn)在已被棄用,請使用Boost.Coroutine2。
什么是協(xié)程
??在談協(xié)程之前,我們先談談函數(shù),函數(shù)有入口地址,而且只有一個,返回也只有一個,而協(xié)程卻可以多次進入,多次返回。
??協(xié)程,英文名是稱為Coroutine,微信的后臺C++庫,libco也應用了大量協(xié)程,早在2013年已經(jīng)開源,有興趣的可以去拜讀。可以在指定地點暫停協(xié)程和恢復協(xié)程,這意味著協(xié)程會保存自己的上下文,不同于線程, 協(xié)程的上下文保存是不需要進入內(nèi)核態(tài)的,完全可以在用戶態(tài)完成。
??下面看看協(xié)程的分類:
有棧協(xié)程
??每個協(xié)程都擁有自己的棧,協(xié)程上下文保存在自己的棧中,切換協(xié)程就是切換棧,然后恢復棧中的上下文,這種方法
總結
以上是生活随笔為你收集整理的C++ boost协程技术介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cesium获取模型(Primitive
- 下一篇: s3c2440移植MQTT