Dúvida sobre necessidade do async / await #19
-
Olá Balta, tudo bom? Sempre tive certa dificuldade pra entender o uso de async / await, e vendo a aula "Async e Await" da seção "Performance e Outros" do curso de Fundamentos do Entity Framework, fiquei com dúvida sobre isso. Usando este código como exemplo: Nesse caso, tenho dois métodos que fazem a mesma coisa, mas um é assíncrono e o outro não. Acredito que nos dois casos, ambos esperam pela consulta e só depois executam o for, e por fim retornam o user. Se nos dois métodos consigo o mesmo resultado utilizando o async / await e sem utiliza-los, por que eu deveria usar um ou outro? No dia a dia, ao invés de usar async / await não posso sempre utilizar sempre métodos síncronos, já que sempre esperam pela execução anterior? Pesquisei um monte mas ainda estou confuso quanto a isso. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Neste caso dá na mesma... embora ele abra uma thread para ler os dados do banco, como tem o Uma vez que você optar por usar Async, é legal manter tudo no método o mais async possível. Mas se o seu código não faz nada assíncrono, então não tem motivos para ter o Você pode inclusive ter dois métodos, com código Aqui tem um exemplo legal e claro do uso do Async: |
Beta Was this translation helpful? Give feedback.
Neste caso dá na mesma... embora ele abra uma thread para ler os dados do banco, como tem o
await
ele vai aguardar a execução daquele trecho de código.Uma vez que você optar por usar Async, é legal manter tudo no método o mais async possível. Mas se o seu código não faz nada assíncrono, então não tem motivos para ter o
async
nele.Você pode inclusive ter dois métodos, com código
async
e sem ele... é normal ocorrer isto, como mostrado ai no seu exemplo com o FirstOrDefault.Aqui tem um exemplo legal e claro do uso do Async:
https://docs.microsoft.com/pt-br/dotnet/csharp/programming-guide/concepts/async/