【发布时间】:2020-05-16 02:09:52
【问题描述】:
一个类有异步方法MonitorAsync(),它启动一个长时间运行的并行操作。我收集了这些monitors;这些都是这样开始的:
internal async Task RunAsync()
{
var tasks = monitors.Select((p) => p.Value.MonitorAsync());
await Task.WhenAll(tasks);
}
如果monitor 倒下,我需要知道(基本上我会再次运行它)。我已经查看了ContinueWith 等等,但是当并行运行一堆异步任务时,我如何确保我明确知道一个任务何时结束?
就上下文而言,RunAsync 基本上是我的应用程序的核心。
【问题讨论】:
标签: c# .net task-parallel-library