相关疑难解决方法(0)

Parallel.For步长

有没有人知道是否有任何重载允许我在Parallel.For循环中指定步长?c#或VB.Net中的样本会很棒.

谢谢,贡萨洛

.net c# vb.net parallel-extensions

8
推荐指数
1
解决办法
4112
查看次数

更改C#Parallel.For循环的增量值

我想转换一个for循环,它将迭代器的每次递增增加2,使用TPL进入Parallel For循环.数据不依赖于顺序或以任何方式受约束,但我只想处理源数组的每个其他元素中的数据(在下面的代码中是_Datalist),因此需要增加2.

我的For循环:

for (int i = 1; i < _DataList.Length - 1; i += 2)
{
     // Do work for _DataList[i]
}
Run Code Online (Sandbox Code Playgroud)

是否有可能告诉并行循环我想要增加2而不是1?

这是并行循环,但显然我每次迭代只增加1:

        Task.Factory.StartNew(() =>
            Parallel.For(1, _DataList.Length, i =>
            {
                // do work for _DataList[i]                    
            })
        );
Run Code Online (Sandbox Code Playgroud)

我可以告诉内部循环体忽略i的奇数值,但这看起来很麻烦 - 有没有办法在循环初始化中做某种方式?

c# parallel-processing task-parallel-library

5
推荐指数
2
解决办法
5722
查看次数