我在一个更大的循环中有以下代码,在分析我的代码后,我发现在Stop()方法完成的很长时间内,执行速度上的所有Parallel.For增益都丢失了。有什么方法可以改善这一点吗?也许调用Thread.Sleep()
谢谢。
Parallel.For(0, 1000, (i, loopState) =>
{
if (a == b)
loopState.Stop();
}); 发布于 2010-08-30 19:20:14
我认为你应该使用loopState.Break()方法,因为它与break关键字是平行的。Stop方法设置IsStopped标志,以便其他迭代可以检查此标志并在方便时停止。它不会停止循环。
请参阅msdn上的Stop和Break
https://stackoverflow.com/questions/3599718
复制相似问题