这是一个关于TPL Dataflow ProducerConsumer Pattern的新问题,Svick 已经回答了这个问题。
- 我需要并行处理4个2gb的文件,需要逐个缓冲区读取文件内容缓冲区。(这里使用生产者模式。Maxdegreeofparallelism = 4,我可以一次发布 4 个缓冲区)
- 需要处理缓冲区并写入中间表。(这里使用消费者模式。)
- 内存中的数据表将根据业务规则进行转换并写入规范化表。
- 内存中的数据再次被重新用于对最终版本的数据进行更多验证。
目前,第 3 步和第 4 步未使用任何块。它通过来自消费者的顺序函数调用。
- 这个设计正确吗?
- 除了使用生产者消费者方法之外,有没有办法将 4 个块逐个流水线并并行处理所有这些块?你能帮我一个小示例代码吗?