私は簡単な質問があります。このforループはWindowsサービスの一部です。誰かがサービスを停止すると、私はループを止めたい。私は3つの方法を見つけることができます。パラレルforループを停止する最善の方法は何ですか?その違いは何ですか?loopstate.Break()、loopState.Stop()と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();
}
}
});