【发布时间】:2017-09-24 09:14:48
【问题描述】:
我正在尝试使用 async/await 并行运行长时间运行的任务并同时运行它们,但我无法将任务添加到任务集合并将它们添加到 Task.WhenAll() 因为它会立即启动运行任务。我有以下代码:
var task1 = _bll.longRunningTask1().ConfigureAwait(false);
var task2 = _bll.longRunningTask2().ConfigureAwait(false);
上述长时间运行的任务此时已经在运行,因此不能先将它们存储在集合中,然后将它们放入 Task.WhenAll() 中然后运行它们。 将它们放入集合并仅使用 Task.WhenAll() 运行它们的正确方法是什么?
List<Task> tasks = new List<Task>();
tasks.Add(task1);
tasks.Add(task2);
await Task.WhenAll(tasks);
【问题讨论】:
标签: async-await