【发布时间】:2013-02-06 04:14:36
【问题描述】:
我可以在 TPL 数据流中的其他块中调用块吗?这是一种好的做法吗?因此,如果我正在处理包含 4 个通道(R、G、B、A)的图像层,ProcessLayer 块会将所有 4 个通道输入到 ProcessChannel 块中,然后在完成后对输出进行处理。这是 kosher 还是我应该尝试拆分块以便 ProcessLayer 输出 4 个通道,而不是在自身内部发布每个通道块?
上下文: 我正在使用自定义解析器处理 PSD 图像文件,该解析器是图层->通道图。同步地,我遍历每一层,遍历每个通道。说 PSD 的大小有时会超过 500mb,而且这需要很长时间,所以我决定尝试 TPL Dataflow。
【问题讨论】:
-
您能否澄清一下
ProcessLayer的工作原理?因为在 TDF 中没有直接跟踪“何时完成”的方法。你的意思是ProcessLayer的每次迭代都会创建自己的ProcessChannel实例?
标签: c# .net task-parallel-library tpl-dataflow