task.delay执行后会执行无限代码吗?

Roe*_*t M 1 c# multithreading

只是一个简单的问题.我们在这里有一些误解.

为简单起见,删除了一些代码:

public async Task ConsumeAsync<T>(CancellationToken cancellationToken)
{
 _logger.LogInformation("consume async");

 await Task.Delay(Timeout.Inifite, cancellationToken);

      _logger.LogInformation("cancelled");
}
Run Code Online (Sandbox Code Playgroud)

请求取消时是否应记录最后一个日志?

Jon*_*eet 5

请求取消时是否应记录最后一个日志?

不,因为返回的任务Task.Delay将出现故障,正如任务取消时一样.