关于Async Task的一些资源

任务并行库(Task Parallel Library)中的Async Task是编写异步代码的一大利器。我们收集了一些资源展示如何在各种场景下使用该API以及在使用API时各方面的注意事项。

《在Async API中启用进度和取消》一文中,Brandon Bay展示了如何在异步上传文件的同时,创建一个不断更新的进度条,并使用取消令牌(cancellation token)取消一个异步任务。在早期的一篇文章中,Brandon还展示了使用以前的方法(通过EAP和APM)与使用async与await关键字的新方法在编写异步代码方面的不同之处。这篇关于Async/Await的常见问题解答包含了更多细节并指向了更多资源。

虽然这些新关键字让异步编程变得更加简单,但是开发人员应当避免过度使用,因为Async调用代价可能很高昂。另外,最好只进行少量大型的异步调用,而不要采用很多小型的异步调用。

使用Async不仅仅局限于Windows编程,它还可以用于ASP.NET服务端代码中。ASP.NET MVC 4中推出的Async异步控制器的任务支持让控制器中编写非阻塞代码变得更加简单,而控制器本身也可以进一步使用异步方法。当超时发生时,你甚至可以设置超时并引发异常。要注意的是,该功能仅在使用C# 5时支持。

值得注意的是,async与await关键字如此方便以至于node.js 的一个分支已经实验将该语法作为javascript传统回调的替代方案。

查看英文原文:Resources On Async Tasks

你可能感兴趣的:(关于Async Task的一些资源)