简体   繁体   English

Akka.Net Stream 点餐(网络流点餐)

[英]Akka.Net Stream Ordering (Stream Ordering Over the Network)

Does Akka.net Streams preserve input order of elements? Akka.net Streams 是否保留元素的输入顺序? If so, does this hold true when working with reactive streams over the.network (when using stream refs)?如果是这样,那么在通过.network(使用 stream refs 时)处理反应流时,这是否适用?

Current Version of Akka.Streams being used is 1.4.39当前使用的 Akka.Streams 版本是 1.4.39

Unfortunately, I was unable to find a definitive answer in the Akka.net Documentation.不幸的是,我无法在 Akka.net 文档中找到明确的答案。

After further reading I found my answer.进一步阅读后,我找到了答案。

https://getakka.net/articles/streams/basics.html#stream-ordering https://getakka.net/articles/streams/basics.html#stream-ordering

In Akka Streams almost all computation stages preserve input order of elements.在 Akka Streams 中,几乎所有计算阶段都保留元素的输入顺序。 This means that if inputs {IA1,IA2,...,IAn} "cause" outputs {OA1,OA2,...,OAk} and inputs {IB1,IB2,...,IBm} "cause" outputs {OB1,OB2,...,OBl} and all of IAi happened before all IBi then OAi happens before OBi.这意味着如果输入 {IA1,IA2,...,IAn} “导致”输出 {OA1,OA2,...,OAk} 并且输入 {IB1,IB2,...,IBm} “导致”输出 {OB1 ,OB2,...,OBl} 并且所有 IAi 都发生在所有 IBi 之前,然后 OAi 发生在 OBi 之前。

This property is even uphold by async operations such as SelectAsync, however an unordered version exists called SelectAsyncUnordered which does not preserve this ordering. SelectAsync 等异步操作甚至支持此属性,但存在一个称为 SelectAsyncUnordered 的无序版本,它不保留此顺序。

... ...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM