Voltar para página inicial

[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?