我在代码中有以下几行:
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()?同时,应用程序执行其他任务。