[Dica rápida] Agrupamento de operações assíncronas em C#
Fala pessoal, irei passar uma dica rápida que é algo simples mas que faz bastante diferença no quesito desempenho: o agrupamento de chamadas assíncronas. Lembrando que a linguagem de programação que irá ser demonstrada o exemplo é C#.
Exemplo 1 - Chamadas consecutivas de métodos assíncronos
public async Task CallApis()
{
await FirstApi();
await SecondApi();
await ThirdApi();
}
Nesse exemplo, aguardaremos várias chamadas. Portanto, o método inteiro será executado na soma de vezes que cada chamada assíncrona leva para ser concluída.
Exemplo 2 - Agrupamento das chamadas
public async Task CallApis()
{
await Task.WhenAll(
FirstApi(),
SecondApi(),
ThirdApi()
);
}
Nesse exemplo, colocamos a dica em prática. As chamadas serão executadas em "paralelo" e será concluído quando a chamada assíncrona mais lenta terminar.
Observações importantes:
- Aguardar a conclusão da chamada mais lenta é mais rápido do que esperar que todas as chamadas sejam concluídas uma a uma.
- Você não pode usar essa abordagem se precisar do resultado de uma operação assíncrona para executar a próxima.
Então é isso pessoal, espero que tenham gostado, Abraços!
Foi feito o uso de pseudocódigos para exemplificar melhor, caso queira ver melhor do uso dessa função WhenAll recomendo consultar a doc oficial da Microsoft.
Esse artigo foi publicado em 06 de novembro de 2025 e atualizado em 06 de novembro de 2025.
Gostou? Que tal compartilhar nas redes sociais?