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