欢迎光临散文网 会员登陆 & 注册

C++20 Coroutine: 通用异步任务 Task

2023-03-19 19:30 作者:Meriex  | 我要投稿

首先代码源自:https://www.bennyhuo.com/2022/03/19/cpp-coroutines-04-task/

这段代码使用协程实现了一个通用的异步任务执行类 Task,支持设置回调函数并将在 Task 完成后执行回调,作者文章里讲了设计思路,但是总体来说没有对执行流程讲的那么细,对协程了解不深刻的话可能看的会比较懵,所以我在这里把协程执行的整个过程注释了一下。

Task、TaskPromise 和 TaskAwaiter 覆盖到了大部分的协程执行过程,把这几个类的实现理解了那基本上就可以说已经理解了 c++ 协程的工作方式。

阅读下面这段代码的方式建议通过 main 函数开始,对照运行结果一点一点来看。

Source Code

运行结果分析


C++20 Coroutine: 通用异步任务 Task的评论 (共 条)

分享到微博请遵守国家法律