C# · 12月 27, 2021

c# – 在数据流网络中使用BufferBlock的好处

我想知道如果使用与一个或多个ActionBlock相关联的BufferBlock,除了限制(使用BoundedCapacity)之外,而不是直接发布到ActionBlock(只要不需要调节)就会有好处.解决方法 如果你想做的就是将项目从一个块转发到另外一个块,你不需要BufferBlock.

但是肯定会有用的.例如,如果您有一个复杂的数据流网络,您可能希望从较小的子网络构建它们,每个子网络都以自己的方法创建.为了做到这一点,你需要一些方法来代表一个块.在您提到的情况下,从该方法返回单个BufferBlock(可能作为ITargetBlock)将是一个简单的解决方案.

如果您想将项目从多个源块发送到多个目标块,那么BufferBlock将是有用的另一个例子.如果您使用BufferBlock作为中介,则不必将每个源块连接到每个目标块.

我确定还有很多其他的例子可以使用BufferBlock.当然,如果你没有看到任何理由在你的情况下使用它,那么不要.