C++20协程完整实现
借鉴了cppcoro源码实现,实现了task类型、promise类型以及awaitable的实现,修改了promise类的部分接口返回值,使得在主线程调用协程能直接进入协程并执行。关于各个阶段可以返回哪些数据可以借鉴https://blog.csdn.net/weixin_47488337/article/details/133070800。 当然这些代码建议有一定c++基础以及协程基础的研发人员 当然这里的代码去掉了同步等待以及推出时同步各个协程退出的代码,关于这些我们可以参考cppcoro的源码 https://github.com/lewissbaker/cppcoro。 这里面详细的封装有协程的各种使用场景,里面的sync_wait以及when_all_ready都是值得我们去研究并学习的。当然除了这些我们还可以学习里面的cppcoro::file、auto_reset_event、async_manual_reset_event等 万丈高楼平地起,我们还是需要从简单的看起。这个资源就是提取了核心基础部分,使得阅读的难度降低
0
264
11KB
2023-09-21
0