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,布布扣,bubuko.com
How to cancel parallel loops in .NET C# z
原文:http://www.cnblogs.com/zeroone/p/3744057.html