当前位置:  开发笔记 > 编程语言 > 正文

有序并行执行

如何解决《有序并行执行》经验,为你挑选了1个好方法。

我有一个有序列表,如[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].我将它传递给一份Parallel.ForEach声明.我可以以某种方式实现以下桶的执行顺序,例如:处理前3个项目[1, 2, 3],其中桶本身的排序不是强制性的,[2, 1, 3]例如可以.然后处理接下来的3个项目[4, 5, 6]等?



1> vivek nuna..:

我不确定你是否可以直接这样做.但我建议你将输入列表分成较小的列表,然后你可以处理每个子列表Parallel.Foreach.

List fruits = new List() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
List> ls = new List>();
for (int i = 0; i < fruits.Count; i += 3)
{
    ls.Add(fruits.GetRange(i, Math.Min(3, fruits.Count - i)));
}
foreach (List group in ls)
{
    Parallel.ForEach(group, fruit =>
    {
    });
}

3是小清单的长度.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有