【发布时间】:2018-08-30 19:17:46
【问题描述】:
我在一个数组中有一系列任务。如果一个任务是“好”,它会返回一个字符串。如果它是“坏的”:它返回一个空值。
我希望能够并行运行所有任务,一旦第一个返回“好”,然后取消其他任务并获得“好”结果。
我现在正在这样做,但问题是所有任务都需要运行,然后我循环遍历它们以寻找第一个好的结果。
List<Task<string>> tasks = new List<Task<string>>();
Task.WaitAll(tasks.ToArray());
【问题讨论】:
-
Doesn't Task.WhenAny 对你有用吗?
-
问题是我需要第一个好的任务并获得数据,许多任务会返回但未能获得我需要的内容
-
this question 做你想做的事吗?
标签: c# async-await task task-parallel-library cancellationtokensource