C# Parallel.ForEach并行遍历数据遗漏问题
使用List会遗漏数据
Parallel.ForEach(list, new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount },
(u, ParallelLoopState) =>
{
//处理...
});
改为 ConcurrentBag
ConcurrentBag<Station> cons= new ConcurrentBag<User>(list);//使用线程安全的 ConcurrentBag
Parallel.ForEach(cons, new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount },
(u, ParallelLoopState) =>
{
//处理...
});
版权声明:本文为qq_22683623原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。