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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何正确理解.NET 4.5和C#5.0中的async/await异步编程模式相关的知识,希望对你有一定的参考价值。

参考技术A 使用异步编程,可以避免性能瓶颈并增强应用程序的总体响应能力。 但是,编写异步应用程序的传统技术可能比较复杂,使它们难以编写、调试和维护。

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

特征:

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

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

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

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

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

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

在异步方法中,可使用提供的关键字和类型来指示需要完成的操作,且编译器会完成其余操作,其中包括持续跟踪控件以挂起方法返回等待点时发生的情况。 一些常规流程(例如,循环和异常处理)在传统异步代码中处理起来可能很困难。 在异步方法中,元素的编写频率与同步解决方案相同且此问题得到解决。

以上是关于如何正确理解.NET 4.5和C#5.0中的async/await异步编程模式的主要内容,如果未能解决你的问题,请参考以下文章

使用 .NET 2.0 在 XP 上运行 .NET 4.5 程序 [关闭]

Atitit.  c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0  

对 iOS 5.0 和 iOS 6.0 使用 XCode 4.5 的困惑

.Net 4.5 的async 和await 的简单理解使用

如何在 .NET 4.0 中正确使用 async/await

JavaScript 计算属性