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

前端之家收集整理的这篇文章主要介绍了c# – 等待.NET 4.0中的替代方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
什么是.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为“反向扩展任务”开始.

猜你在找的C#相关文章