对于async和await的使用方式、作用效果不怎么理解 ?没关系,初步看这篇就够了
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
熊泽有话说
扫码关注公众号
扫码阅读
手机扫码阅读
结论
在C#中,同步执行通过使用await修饰符调用异步方法,而异步执行则是获取异步方法返回的Task,从而实现多任务顺序执行且不阻塞。
概述
async修饰符用于声明异步方法,而await运算符用于暂停异步方法的求值,直到异步操作完成。它们使得异步编程更加简洁,类似于同步编程的风格。
作用及基本用法
await和async用于简化异步编程。使用await可以让代码以顺序的方式执行,而不阻塞主线程。示例中展示了一个异步方法TestAsync,以及如何通过await同步执行或通过Task对象实现异步执行。
实现多任务顺序执行且不阻塞
通过async和await可以实现多任务顺序执行且不阻塞。例如,在做早餐的案例中,可以通过以下方式执行任务:
- 同步执行:逐步顺序执行任务,耗时较长。
- 并行执行:任务同时执行,显著减少总耗时。
- 并行且可指定顺序执行:先执行某些任务,其他任务并行执行,以此来控制任务执行的顺序。
总结
正确使用async和await可以显著节省时间,特别是在需要在异步任务中开启多线程时。
参考文献
- 使用 Async 和 Await 的异步编程(C# )
- async(C# 参考)
- await(C# 参考)
原文作者:熊泽-学习中的苦与乐
公众号:熊泽有话说
QQ群:711838388
注:文章内容转载或摘录时,请注明作者和原文链接。
熊泽有话说
熊泽有话说
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
熊泽有话说的其他文章
温习数据算法—罗盘时钟
分享几款JS实现的在线罗盘时钟应用,代码简洁好摘,可以学习参考,可以应用到自己的项目里!
30分钟学会Docker里面开启k8s(Kubernetes)登录仪表盘(图文讲解)
Docker是一个开源的应用容器引擎,开发者可以打包他们的应用及依赖到一个可移植的容器中,发布到流行的Linux机器上,也可实现虚拟化。\x0ak8s是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。
印象最深的一个bug:sessionStorage缓存在移动端失效
“ 业精于勤,荒于嬉;行成于思,毁于随。”无bug,不程序:作为程序员的我,不是修bug就是在写bug的路上
因为它,我差点删库跑路:js防抖与节流
对于前端大佬来说,防抖和节流的技术应用都是基本操作。对于“兼职”前端开发的来说,这些都是需要躺平的坑。
小白2分钟学会Visual Studio将引用包打包到NuGet上
目前最简单的nuget打包上传方法,小白也可以2分钟快速上手。
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线