小编Zen*_*Zen的帖子

如何检查所有任务是否已正确完成?

我的代码中有以下几行:

    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);
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,我收到以下错误:

从多个任务中排除延续的特定延续种类是无效的.

这是由TaskContinuationOptions.OnlyOnRanToCompletion选项引起的.

我的问题是如何检查所有任务是否已正常工作(所有任务状态是RanToCompletion)然后执行FinalWork()?与此同时,应用程序执行其他任务.

c# multithreading .net-4.0 task task-parallel-library

7
推荐指数
1
解决办法
1万
查看次数