Conteúdo do Curso
Introdução ao .NET com C#
Introdução ao .NET com C#
O Que É Programação Assíncrona?
Até agora, o código que escrevemos era puramente síncrono, o que significa que cada tarefa era executada uma após a outra, e quase nunca havia tarefas sendo executadas ao mesmo tempo.
Se tivermos um código como o seguinte:
python
Cada método será executado um após o outro. Assim, task2
não começará antes que task1
seja concluída. Da mesma forma, task3
não começará antes que task2
seja concluída.
Isso é aceitável em programas básicos, mas ao desenvolver aplicações maiores, é necessário garantir que uma tarefa não bloqueie a execução de outra.
Por exemplo, em navegadores web, uma aba pode estar tocando música enquanto, em outra aba, o usuário pode estar navegando em redes sociais. Esse tipo de multitarefa é possível por meio da Programação Assíncrona.
A Programação Assíncrona é um método de programação que permite criar programas capazes de executar múltiplas tarefas ao mesmo tempo. Isso contribui para tornar as aplicações mais eficientes e responsivas ao executar várias tarefas simultaneamente.
C# oferece algumas ferramentas úteis para programação assíncrona. Veremos como utilizá-las no próximo capítulo.
Benefícios da Programação Assíncrona:
Ao executar tarefas que demandam muito tempo concorrentemente, é possível evitar que o programa principal fique bloqueado. Essa abordagem concorrente garante que a aplicação permaneça responsiva, mesmo quando envolvida em operações que exigem muitos recursos ou tempo;
Maior responsividade e execução mais rápida proporcionam uma experiência de usuário mais fluida;
Em vez de executar todas as operações em uma única fila, sua aplicação as executa concorrentemente. Dessa forma, ela adquire a capacidade de lidar com um número maior de operações simultâneas, tornando-se mais escalável. Por exemplo, pode haver uma aplicação em que muitos clientes (usuários) precisam ser atendidos ao mesmo tempo.
Desvantagens da Programação Assíncrona:
Ao empregar programação assíncrona no código, pode-se aumentar a complexidade, tornando-o mais difícil de gerenciar e depurar;
Se uma parte do código se torna assíncrona, geralmente a maior parte do código também tende a se tornar assíncrona.
Obrigado pelo seu feedback!