У меня простой вопрос, я следую простому параллельному циклу for. этот цикл for является частью службы Windows. Я хочу остановить цикл, когда кто-то останавливает службу. Я могу найти три способа остановить параллелизм for, который находится в состоянии if. Как лучше всего остановить параллельный цикл for и в чем различия?
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();
}
}
});