Ho una semplice domanda, ho seguito il semplice ciclo parallelo. questo ciclo for è parte del servizio Windows. Voglio interrompere il ciclo, quando qualcuno interrompe il servizio. Riesco a trovare tre modi per interrompere il parallelismo, che è in condizione se. Qual è il modo migliore per fermare il loop parallelo e quali sono le differenze?Qual è la differenza tra loopstate.Break(), loopState.Stop() e CancellationTokenSource.Cancel()
CancellationTokenSource cancellationToken = new CancellationTokenSource();
ParallelOptions options = new ParallelOptions();
options.CancellationToken = cancellationToken.Token;
Parallel.For(0, maximum_operations, options, (a, loopState) =>
{
{
//Do something
if(!KeepProcessing)
{
//loopState.Break();
//loopState.Stop();
cancellationToken.Cancel();
}
}
});