栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ boost协程技术介绍

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ boost协程技术介绍

  协程在C++20中已经加入了,但并不完善,C++标准库的协程将在C++23中正式推出。其它语言,例如go、python也是默认支持协程,C++相对来说落后了。
  Boost在1.53版本就推出了协程库,本篇博客基于Boost1.76版本,来介绍协程库。1.53版本的BoostCoroutine 现在已被弃用,请使用Boost.Coroutine2。

什么是协程

  在谈协程之前,我们先谈谈函数,函数有入口地址,而且只有一个,返回也只有一个,而协程却可以多次进入,多次返回。
  协程,英文名是称为Coroutine,微信的后台C++库,libco也应用了大量协程,早在2013年已经开源,有兴趣的可以去拜读。可以在指定地点暂停协程和恢复协程,这意味着协程会保存自己的上下文,不同于线程, 协程的上下文保存是不需要进入内核态的,完全可以在用户态完成。
  下面看看协程的分类:

有栈协程

  每个协程都拥有自己的栈,协程上下文保存在自己的栈中,切换协程就是切换栈,然后恢复栈中的上下文,这种方法

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/433376.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号