慢速并行。中断

时间:2010-08-30 10:58:58

标签: .net parallel-extensions

我在一个更大的循环中有以下代码,在分析我的代码之后,我发现所有Parallel.For执行速度的增加在Stop()方法完成的很长时间内丢失了。有没有办法改善这个?也许打电话给Thread.Sleep()

感谢。

Parallel.For(0, 1000, (i, loopState) => 
{ 
   if (a == b)
       loopState.Stop(); 
}); 

1 个答案:

答案 0 :(得分:3)

我认为您应该使用loopState.Break()方法,因为它是break关键字的参数。 Stop方法设置IsStopped标志,以便其他迭代可以检查此标志并在方便时停止。它不会停止循环。

请参阅msdn上的StopBreak