java foreach并行_并行foreach处理问题

这是一个控制台应用程序,我有一个foreach迭代Id的列表,并从mapper(数据库)获取该Id的数据 . 为每个列表提取数据后,它将创建csv文件 . 有近84个列表,每个列表有1000个ID . 当我出现内存异常时,我将其拆分了 .

List ts = null;

Parallel.ForEach(lists, list =>

{

string csv = string.Empty;

long max = list.Max();

long min = list.Min();

ts = tsmapper.SelectByList(min, max);

GetCSV(delimeter, ts, nameofile, filepath, mqftcall);

});

所以,我决定使用并行处理来加速这个过程 .

但是,问题是映射器函数selectByList(min,max)值会为每个列表更改 . 我在运行mapper函数时收到此错误“集合已被修改:枚举可能无法执行” .

你能帮帮我吗?我不应该使用parallel.foreach这种情况吗?如果我可以使用parallel.froeach,我该如何解决这个问题 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值