怎么将同步代码改为异步c++_Coroutine, 异步,同步,async, await

本文探讨如何借助C++20的Coroutine特性,以同步代码的形式编写异步程序。通过对比同步和异步代码的区别,阐述异步编程的概念,并介绍Coroutine的基本原理,包括如何在C++中使用co_await、co_yield和co_return。文章指出,Coroutine使得异步代码更加易于理解和维护,尤其是在处理IO密集型任务时。
摘要由CSDN通过智能技术生成

5ad5dbcdeb974931f41db447a24f18d3.png

引言

为什么把这么多词汇放到同一个标题里面?

因为它们合起来可以实现一种装逼技能,那就是:借助于由async, await构成的coroutine, 用同步的方式,编写异步的代码!

异步的代码用同步的方式来写?有什么用啊?请看下面分解——

异步的代码是什么?

首先要解决的问题是什么叫同步和异步。同步的意思是什么?举个例子,我们看视频的时候,如果画面和声音不同步,会觉得很别扭。所以同步可以理解为多个对象具有相对应的关系。异步我们生活中用得很少,它一般是在专业领域出现,比如异步IO,异步通信,英文是asynchronous。简单理解就是不是同步。(<--这不是废话嘛。)本文指编程里面的异步方式,如异步代码,异步IO。且看下面的例子——

比如我们函数AWeek里面要做的事情是打印周一,播放音乐,打印周二,刷个朋友圈,打印周三。同步的代码的样子:

function 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值