我对Task.Factory.ContinueWhenAll方法有疑问
这是我的代码:
private void CheckNewResult(){
Task.Factory.ContinueWhenAll(TasksList.toArray(),CompleteTasks);
}
private void CompleteTasks(Tasks[] tasks)
{
if(tasks.Any(t => t.Status == (TaskStatus.RantoCompletion)))
{
//do something
}
}
我的问题是实际调用完整任务方法的时间是什么时候?是在所有任务完成了他们的请求之后吗?
答案 0 :(得分:1)
当你这样做时
Task.Factory.ContinueWhenAll(TasksList.toArray(),CompleteTasks);
文档说明
创建一个继续任务,该任务将在完成一组提供的任务后启动。处于完成状态或任何其他状态。
一种可能的方法是测试任务的状态,并且只有在状态不是故障或取消时才尝试执行继续。所以你需要这样做。
if(tasks.Any(t => t.Status == (TaskStatus.RantoCompletion)))
答案 1 :(得分:0)