这样的问题:
TPL Dataflow,如何将项目转发到许多链接目标块中的仅一个特定目标块?
建议使用DataflowBlock.NullTarget {T}丢弃管道中的项目,例如
forwarder.LinkTo(DataflowBlock.NullTarget<SomeType>());
但是,如果您像这样使用NullTarget,如何等待完成?创建丢弃块会更好吗:
ITargetBlock<SomeType> discard = DataflowBlock.NullTarget<SomeType>();
forwarder.LinkTo(discard);
并等待完成吗?即
discard.Completion.Wait()
还是不需要等待“ NullTarget”块的完成,即它只是丢掉而忘记了吗?
这是没有记录,但根据我的测试中,Completion
一个NullTarget
将永远不会完成,即使你Complete()
还是Fault()
它。
这意味着您不能等待NullTarget
块完成,因为等待永远不会结束。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句