【发布时间】:2014-02-07 16:23:11
【问题描述】:
在一个函数中,我想对作为参数提供的 IEnumerable 进行并行处理。
这个 IEnumerable 已经是一些链接的结果,即:
IEnumerable argument = InitialEnumerable.Select(x => DoHeavyProcessing(x))...
但对我来说它是不透明的——我无法修改这个参数的创建方式。我不知道它是如何构造的。
现在,当我调用 argument.AsParallel() 时,它没有用 - AsParallel() 只会并行化它右侧的处理,但之前的所有工作都是按顺序运行的。
相反,我需要以某种方式解析这个 IEnumerable 并“装饰”它,以便并行处理繁重的工作。
【问题讨论】:
标签: c# linq parallel-processing plinq