2012-03-04 31 views
0

我想知道:的Parallel.For域分解C#

如何处理器之间吐尽迭代,静态(每个处理器 得到N /(#处理器)迭代),动态(每个处理器获得一个迭代然后返回另一个),我可以选择政策吗?

谢谢!!!

回答

3

Parallel.ForEach()方法使用的是Partitioner,可以提供a custom one

找不到直接链接来说明Paralle.For()的相同之处。

+0

谢谢!这正是我需要的!你知道是否有可能使Parallel.Foreach在特定条件下以串行模式运行?将所有工作交给一个处理器的分区器。 – 2012-03-04 16:44:07

+1

是的,尽管它有点挫败“Parallel”的目的。但是我注意到'.For()'的默认分区将在1个线程中运行小集。 – 2012-03-04 16:54:26

+1

@Sergey Kucher:通过调用'Parallel.ForEach'并将'ParallelOptions.MaxDegreeOfParallelism'设置为1,您应该可以这么做。 – Tudor 2012-03-04 16:54:56