25. Programação assíncrona

Página 25

A programação assíncrona é um paradigma de programação que se concentra na execução de tarefas de forma independente do fluxo principal de execução do programa. Este tipo de programação é extremamente útil quando se trata de operações que podem levar um tempo considerável para serem concluídas, como solicitações de rede, leitura de arquivos de disco, interações com bancos de dados e outras operações de E/S.

Na programação síncrona tradicional, o programa é executado de cima para baixo, linha por linha. Cada linha de código deve ser concluída antes que a próxima seja executada. Isso pode levar a problemas de desempenho, especialmente quando uma tarefa demorada está sendo executada. Enquanto essa tarefa está sendo processada, todo o programa é efetivamente bloqueado, o que pode resultar em uma experiência de usuário ruim, especialmente em aplicações web.

A programação assíncrona resolve esse problema ao permitir que tarefas demoradas sejam executadas em paralelo com o restante do programa. Isso é feito iniciando a tarefa demorada e então continuando com o restante do programa, sem esperar que a tarefa demorada termine. Quando a tarefa demorada é concluída, ela pode retornar o resultado para o programa principal ou executar algum código de callback.

Existem várias técnicas para implementar a programação assíncrona, incluindo callbacks, promessas e async/await.

Callbacks são funções que são passadas como argumentos para outras funções. Quando a função principal termina de executar uma tarefa, ela chama a função de callback com o resultado. Isso permite que o programa continue executando outras tareas enquanto espera que a tarefa demorada seja concluída.

Promessas são objetos que representam o resultado eventual de uma operação assíncrona. Uma promessa está em um de três estados: pendente, cumprido ou rejeitado. Quando a operação assíncrona é concluída, a promessa é cumprida com o valor do resultado, ou rejeitada com um motivo de falha. As promessas podem ser encadeadas, permitindo que operações assíncronas sejam executadas em sequência.

Async/await é uma sintaxe especial introduzida em muitas linguagens de programação modernas que torna o código assíncrono mais fácil de escrever e entender. Uma função marcada como async sempre retorna uma promessa. A palavra-chave await pode ser usada dentro de uma função async para pausar a execução do código até que uma promessa seja resolvida ou rejeitada.

Embora a programação assíncrona possa ser mais complexa do que a programação síncrona, ela oferece muitos benefícios. Ela pode melhorar significativamente o desempenho e a capacidade de resposta de um programa, especialmente em aplicações web. No entanto, também é importante entender as armadilhas e os desafios da programação assíncrona, como a gestão de erros e a sincronização de tarefas.

Em resumo, a programação assíncrona é uma ferramenta poderosa na caixa de ferramentas de um programador. Com um bom entendimento de como ela funciona e quando usá-la, você pode escrever código mais eficiente e responsivo que oferece uma melhor experiência ao usuário.

Now answer the exercise about the content:

O que é programação assíncrona e quais são algumas técnicas para implementá-la?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

2626. Programação concorrente e paralela

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text