1. 首页
  2. 编程语言
  3. C
  4. C++20中的协程(Coroutine)的实现

C++20中的协程(Coroutine)的实现

上传者: 2021-09-17 13:25:25上传 PDF文件 125.27 KB 热度 32次

简单来说,协程就是一种特殊的函数,它可以在函数执行到某个地方的时候暂停执行,返回给调用者或恢复者,并允许随后从暂停的地方恢复继续执行。注意,这个暂停执行不是指将函数所在的线程暂停执行,而是单纯的暂停执行函数本身。最常见的用途,就是将“异步”风格的编程“同步”化。没错, 不再需要回调函数, 你可以完全顺序的, 仿佛异步调用不存在的使用同步调用的写法。co_return,co_yield,co_await是为了使用协程而新增加的三个关键字,这些关键字在非协程函数中是无法使用的。这其实是我们一开始听说协程的描述时会产生的一种误解。因为co_await关键字实际上是一个运算符,其后面只能跟随一个“实现了三个特定函数的类”。

用户评论