c# - 将列表分成等份

标签 c# algorithm performance list

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

我计划优化并节省一些时间并决定使用 Background Worker 因为它们之间没有依赖关系。计划将 List 分成 4 部分并在单独的 Background 中使用每个部分 worker .

我想问

1.这个方法笨吗?

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

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

谢谢

最佳答案

如果你能用.Net 4.0,那就用Task Parallel库看看

Parallel.ForEach()

Parallel ForEach How-to.

一切都与传统的 for 循环基本相同,但您隐式地使用了并行性。

关于c# - 将列表分成等份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5382330/

相关文章:

java - 如何快速知道服务器是否在线?

c# - .XML 中包含的 .DLL 注释

c# - 动态 P/调用 DLL

c# - NHibernate Query/QueryOver 与日期时间比较

c# - 为什么引用类型没有初始化为 null?

algorithm - 高度图的离散流体 "filling"算法

c++ - 从火柴棒制作数字的算法

performance - 关于优先级队列的性能,二叉堆、二项式堆、斐波那契堆

algorithm - 计算字符串的排列

database - FILTER 语句的顺序是否会影响 arangoDB 中的查询性能?