在等份中划分列表

Afn*_*hir 2 c# algorithm performance list

我有一个大的列表,可能有一些50,000或多个项目,我必须对每个项目进行操作.X如果我使用传统的方法并按顺序方式进行操作肯定需要X * 50,000平均一段时间.

我计划优化并节省一些时间并决定使用,Background Worker因为它们之间没有依赖性.计划将List分成4个部分并分别使用它们Background Worker.

我想问一下

这个方法是DUMB吗?

2.还有其他更好的方法吗?

3.建议一个漂亮而干净的方法将List分成4个相等的部分?

谢谢

wei*_*mat 13

如果您可以使用.Net 4.0,那么请使用任务并行库并查看

Parallel.ForEach()
Run Code Online (Sandbox Code Playgroud)

并行ForEach操作方法.

一切都与传统的for循环基本相同,但你隐式使用并行性.