2

コードをプロファイリングした後、Stop()メソッドが完了するまでに時間がかかるため、実行速度のすべての Parallel.For ゲインが失われることがわかりました。これを改善する方法はありますか?多分電話Thread.Sleep()

ありがとう。

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

1 に答える 1

3

loopState.Break()キーワードに対しては並列なので、メソッドを使用する必要があると思いますbreak。このStopメソッドはIsStoppedフラグを設定するため、他の反復はこのフラグをチェックし、都合のよいときに停止できます。ループは停止しません。

msdn の停止中断を参照してください。

于 2010-08-30T11:20:13.987 に答える