#Rapidinhas — Evitando armadilhas comuns com .NetCore Async

Lennon Alves Dias
Comunidade XP
1 min readJul 9, 2020

--

Nessa primeira #rapidinha abordaremos armadilhas (algumas bem comuns) que devemos evitar na implementações de códigos assíncronos utilizando .NET Core.

1. Usar Task.Run()na aplicação.

Cria uma thread não otimizada.
Causa sobrecarga.
Diminui a escalabilidade.

2. Task.Wait() e Task.Result()bloqueiam o seguimento da chamada.

O encademanto não é retornado ao conjunto de encadeamento.
Bloquear código assíncrono prejudica a escalabilidade.-
O ASP.NET Core não possui um contexto de sincronização.

3. Modificando o estado compartilhado.

Threads diferentes podem manipular o mesmo estado ao mesmo tempo.
A correção não pode ser garantida.

Conhece alguma outra armadilha que não devemos cair? Já utilizou alguns desses recursos acima e não sabia disso? Compartilhe suas experiências e vamos trocar uma idéia.

Quer aprender mais sobre como montar uma API assincrona garantindo segurança, performance e escalabilidade? Confira esse curso:

--

--

Lennon Alves Dias
Comunidade XP

Computer Scientist, Developer. Computer Science (UTFPR/PG — 2015). Artificial Intelligence & Machine Learning (FIAP/SP — 2020).