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
时间: 2024-10-24 03:49:40