【发布时间】:2012-11-27 21:22:32
【问题描述】:
我有一个程序,我正在接收事件并希望分批处理它们,以便在我处理当前批次时进入的所有项目都将出现在下一个批次中。
Rx 中简单的 TimeSpan 和基于计数的 Buffer 方法将给我多批次的项目,而不是给我一大批已经进来的所有东西(如果订阅者花费的时间超过指定的 TimeSpan 或超过 N 个项目进来,N大于count)。
我研究了使用采用Func<IObservable<TBufferClosing>> 或IObservable<TBufferOpening> and Func<TBufferOpening, IObservable<TBufferClosing>> 的更复杂的缓冲区重载,但我找不到如何使用这些的示例,更不用说弄清楚如何将它们应用于我正在尝试的内容做。
【问题讨论】:
-
This page 可能有助于 Buffer 重载。整个系列都很有帮助
-
您在 TPL 数据流中尝试过
BufferBlock吗?
标签: c# system.reactive