加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 等待.NET 4.0中的替代方法?

发布时间:2020-12-15 06:26:33 所属栏目:百科 来源:网络整理
导读:什么是.NET 4.0中的await关键字的最佳选择?我有一个方法需要在异步操作后返回一个值.我注意到wait()方法完全阻塞线程,从而使异步操作无效.在释放UI线程的同时,我可以选择运行异步操作吗? 解决方法 我认为你的基本选择是 使用任务和.ContinueWith() 使用Asy
什么是.NET 4.0中的await关键字的最佳选择?我有一个方法需要在异步操作后返回一个值.我注意到wait()方法完全阻塞线程,从而使异步操作无效.在释放UI线程的同时,我可以选择运行异步操作吗?

解决方法

我认为你的基本选择是

>使用任务和.ContinueWith()
>使用Async CTP和异步/等待
>使用Reactive Extensions

最简单的方法可能是安装Async CTP.据我所知,许可允许商业使用.它补丁编译器,并附带一个150kb的DLL,您可以将其包含到您的项目中.

您可以使用Task和.ContinueWith().但是这意味着您必须花费一些精力来处理和流程控制.

任务是一个功能结构.这就是为什么ContinueWith()与循环或try-catch块之类的命令式构造不兼容.因此,异步等待着介绍,所以编译器可以帮助我们.

如果你不能支持编译器(即使用.Net 4.0),最好的办法是使用TAP和功能框架. Reactive Extensions是处理异步方法的非常好的框架.

只要google为“反向扩展任务”开始.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读