这样的问题:
TPL Dataflow, how to forward items to only one specific target block among many linked target blocks?
建议使用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
块的完成,因为等待永远不会结束。
关于task-parallel-library - 您是否需要在TPL数据流上等待完成DataflowBlock.NullTarget <T>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21902922/