当我研究NIO时,它的一个重要特征是它的非阻塞行为。 在.NET和C#中,Async / Await和Streams的组合是否真的将NIO的非阻塞功能带入了.NET?
或者.NET 4.5中还有其他好的替代品吗?
我在SO上发现Any NIO frameworks for .NET?问题,但这是一个2009年的问题,但尚未引入Async/Await
。
答案 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框架的等效端口。