【发布时间】:2012-06-22 07:45:58
【问题描述】:
我有一个 List<byte[]>,我喜欢将每个 byte[] 反序列化为 Foo。 List 是有序的,我喜欢编写一个并行循环,其中生成的List<Foo> 包含所有 Foo,其顺序与原始byte[] 相同。该列表非常大,以使并行操作值得。有没有内置的方法来实现这一点?
如果没有,有什么想法可以通过同步运行来实现加速?
谢谢
【问题讨论】:
-
请发布一些示例代码,并且为了记录,使并行化的东西不一定会更快更高效...想知道 Parallel.For
是否会解决您的问题。 -
这是一个副本:stackoverflow.com/questions/3639768/… 所以要回答,您可以使用 PLINQ (AsOrdered, AsParallel) 来完成工作。
-
最好有
Select或Map的并行等价物来保留输入顺序。 -
@adt:您给出了答案:
Parallel.For解决了问题。将此作为答案发布。我会投票 +1。 -
@adt,如果我有代码,我就不需要问了 ;-) 如果这对你有帮助,我可以添加一个简单的 for 循环?
标签: c# collections asynchronous concurrency parallel-processing