我想定期(每分钟)在一个单独的线程中启动一个方法。我正在使用System.Timers.Timer但我意识到Timers会导致内存泄漏。
我需要删除定时器并使用任务。 ……
类似方法:异步等效是一个带有Task.Delay的while循环(内部使用System.Threading.Timer):
public async Task PeriodicFooAsync(TimeSpan interval, CancellationToken cancellationToken) { while (true) { await FooAsync(); await Task.Delay(interval, cancellationToken) } }
这个工作对我来说很好 参考 这是为了更多的理解。