如何正确理解.NET 4.5和C#5.0中的async/await异步编程模式

 我来答
zheng_lei_
2016-10-01 · TA获得超过471个赞
知道小有建树答主
回答量:2367
采纳率:8%
帮助的人:666万
展开全部
使用异步编程,可以避免性能瓶颈并增强应用程序的总体响应能力。 但是,编写异步应用程序的传统技术可能比较复杂,使它们难以编写、调试和维护。

C# 中的 async 和 await 关键字都是异步编程的核心。 通过使用这两个关键字,可以使用 .NET framework 或 Windows 运行时中的资源轻松创建异步方法(几乎与创建同步方法一样轻松)。 通过使用被称为异步方法的 async 和 await 定义的异步方法。

特征:

方法签名包含一个 Async 或 async 修饰符。

按照约定,异步方法的名称以“Async”后缀结尾。

返回类型为下列类型之一:

如果你的方法有操作数为 TResult 类型的返回语句,则为 Task<TResult>。

如果你的方法没有返回语句或具有没有操作数的返回语句,则为 Task。

方法通常包含至少一个 await 表达式,该表达式标记一个点,在该点上,直到等待的异步操作完成方法才能继续。 同时,将方法挂起,并且控件返回到方法的调用方。 本主题的下一节将解释悬挂点发生的情况。

在异步方法中,可使用提供的关键字和类型来指示需要完成的操作,且编译器会完成其余操作,其中包括持续跟踪控件以挂起方法返回等待点时发生的情况。 一些常规流程(例如,循环和异常处理)在传统异步代码中处理起来可能很困难。 在异步方法中,元素的编写频率与同步解决方案相同且此问题得到解决。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式