什么是.NET 4.5中的Java NIO的替代品?

时间:2014-03-09 11:41:33

标签: c# .net

当我研究NIO时,它的一个重要特征是它的非阻塞行为。 在.NET和C#中,Async / Await和Streams的组合是否真的将NIO的非阻塞功能带入了.NET?

或者.NET 4.5中还有其他好的替代品吗?

我在SO上发现Any NIO frameworks for .NET?问题,但这是一个2009年的问题,但尚未引入Async/Await

2 个答案:

答案 0 :(得分:1)

除了async/await之外,另一个框架(更多的扩展名)是Rx Extensions(反应性扩展)

很少有用的链接

Rx扩展几乎没有学习曲线,但它确实可以轻松完成一些工作

如网站所述

  

Reactive Extensions(Rx)是一个用于组合异步的库   和使用可观察序列和LINQ风格的基于事件的程序   查询运算符。使用Rx,开发人员代表异步数据   使用Observables的流,使用LINQ查询异步数据流   运算符,并参数化异步数据中的并发性   使用调度程序的流。简单地说,Rx = Observables + LINQ +   调度器。

     

无论是创作传统桌面还是基于网络   应用程序,您必须处理异步和基于事件的   不时编程。桌面应用程序具有I / O.   操作和计算成本高昂的任务可能需要很长时间   时间完成并可能阻止其他活动线程。   此外,处理异常,取消和同步是   困难且容易出错。

答案 1 :(得分:0)

最好和最接近的匹配是:https://github.com/Aaronontheweb/helios,它是java的Netty框架的等效端口。