Глядя на этот код:
public async Task<T> ConsumeAsync()
{
await a();
await b();
await c();
await d();
//..
}
Допустим, a,b,c,d
также имеет вложенные асинхронные ожидания (и т. Д.)
Async / await POV - для каждого await
сохраняется конечный автомат.
Вопрос (теоретический):
Поскольку каждый конечный автомат хранится в памяти, может ли это привести к большому потреблению памяти?
Это может быть неопределенный вопрос, но если существует много состояний, кажется неизбежным не задумываться о размерах сохраняемых конечных автоматов.