当阵列中的一个或多个任务被取消或失败时继续?

时间:2012-01-16 09:23:44

标签: c# task continuation

如果我有一系列任务,任务[]。如何编写仅在阵列中的一个或多个任务失败(或被取消)时运行的延续?

1 个答案:

答案 0 :(得分:0)

我认为您应该查看continuation optionsset the continuation执行任务时可以指定的{{3}}。

Task<int> [] tasks = new Task<int>[5];
// Add tasks...

foreach (var task in tasks)
{
    task.ContinueWith(a => a.Id, TaskContinuationOptions.OnlyOnCanceled);
}
Task.WaitAny(tasks, new CancellationToken());