How to cancel parallel loops in .NET C# z

CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();

Task.Factory.StartNew(() =>
{
    Thread.Sleep(5000);
    cancellationTokenSource.Cancel();
    Console.WriteLine("Token cancelled");
});

ParallelOptions parallelLoopOptions =
    new ParallelOptions()
    {
        CancellationToken = cancellationTokenSource.Token
    };


try
{               
    Parallel.For(0, Int64.MaxValue, parallelLoopOptions, index =>
    {
        double result = Math.Pow(index, 3);
        Console.WriteLine("Index {0}, result {1}", index, result);
        Thread.Sleep(100);
    });
}
catch (OperationCanceledException)
{
    Console.WriteLine("Cancellation exception caught!");
}

 

How to cancel parallel loops in .NET C# z,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。