BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

关于Async Task的一些资源

| 作者 Roopesh Shenoy 关注 0 他的粉丝 ,译者 曹如进 关注 0 他的粉丝 发布于 2012年6月12日. 估计阅读时间: 1 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

任务并行库(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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

何必搞Node.js分支 by Jeffrey Zhao

Jscex就是个实现这些东西的类库。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT