【发布时间】:2012-09-03 13:28:10
【问题描述】:
我的代码中有以下几行:
var taskA = Task.Factory.StartNew(WorkA);
var taskB = Task.Factory.StartNew(WorkB);
var allTasks = new[] { taskA, taskB };
Task.Factory.ContinueWhenAll(allTasks, tasks => FinalWork(), TaskContinuationOptions.OnlyOnRanToCompletion);
但是当我运行它时,我得到以下错误:
对于多任务的延续,排除特定的延续种类是无效的。
这是由选项 TaskContinuationOptions.OnlyOnRanToCompletion 引起的。
我的问题是如何检查所有任务是否已正常完成工作(所有任务状态都是RanToCompletion)然后执行FinalWork()? 与此同时,应用程序执行其他任务。
【问题讨论】:
-
如果某些
Tasks 失败了,你想做什么? -
如果某些
Tasks 失败了,什么也不应该做。
标签: c# multithreading .net-4.0 task task-parallel-library