Exercícios
Avalie seus conhecimentos sobre concorrência assíncrona com asyncio em Python. Este questionário aborda o funcionamento do event loop, corrotinas, await, criação e cancelamento de tarefas, asyncio.gather, as_completed e TaskGroup. Você também encontrará questões sobre timeout, operações bloqueantes, async with, filas assíncronas, semáforos, condições de corrida e o uso correto de asyncio.run. Ideal para estudantes e desenvolvedores que desejam compreender como executar operações concorrentes de forma eficiente, organizada e não bloqueante em aplicações Python.
Responda às questões abaixo e confira a explicação de cada resposta.
0/15 respondidas
Áudio automático ativado: as próximas questões serão lidas ao clicar em Continuar.
O event loop coordena tarefas assíncronas e retoma cada corrotina quando o recurso aguardado está disponível. Ele não cria obrigatoriamente uma thread para cada tarefa.
Quando o objeto aguardado ainda não terminou, await suspende a corrotina atual e devolve o controle ao event loop, permitindo que outras tarefas avancem.
asyncio.create_task() envolve a corrotina em uma Task e a agenda no event loop. O objeto retornado pode ser aguardado, cancelado ou consultado.
asyncio.gather() preserva, em seu resultado, a ordem dos objetos aguardáveis recebidos, mesmo que eles terminem em outra ordem.
asyncio.sleep() devolve o controle ao event loop durante a espera. Já time.sleep() bloqueia a thread e impede o avanço das demais tarefas nesse loop.
asyncio.to_thread() executa uma função bloqueante em outra thread, evitando que ela interrompa o event loop. É especialmente útil para operações de entrada e saída síncronas.
TaskGroup aguarda suas tarefas ao sair do bloco. Se uma delas falhar, as demais podem ser canceladas e as falhas são propagadas de forma estruturada, geralmente em um grupo de exceções.
O contexto asyncio.timeout() cancela a espera quando o prazo é excedido e converte o cancelamento interno em TimeoutError, que pode ser capturada fora do bloco.
O cancelamento é uma solicitação. CancelledError é normalmente lançada na tarefa quando ela retoma em um ponto de suspensão. Blocos finally devem ser usados para liberar recursos.
asyncio.Semaphore mantém um contador de permissões e limita quantas tarefas podem acessar simultaneamente um recurso, como uma API ou conexão externa.
asyncio.Queue permite que produtores e consumidores aguardem assincronamente com put() e get(). Ela também pode aplicar capacidade máxima e fornecer controle de conclusão.
Uma sequência de leitura, espera e escrita pode ser intercalada com outra tarefa nos pontos de await. Isso pode produzir atualizações perdidas, mesmo com um único event loop em uma thread.
asyncio.as_completed() permite obter e processar os resultados conforme os aguardáveis terminam. Isso é útil quando tarefas têm durações diferentes e a ordem original não é necessária.
Um gerenciador de contexto assíncrono implementa __aenter__ e __aexit__, permitindo aguardar operações de aquisição e liberação, como abrir e fechar uma conexão.
asyncio.run() é um ponto de entrada de alto nível: cria um event loop, executa a corrotina principal e finaliza os recursos associados. Não deve ser chamado quando outro event loop já está ativo na mesma thread.

Curso GratuitoAnálise e projeto de sistemas
11h02m
9 exercícios

Curso GratuitoPython do Zero ao Avançado
28h22m
54 exercícios

Curso GratuitoProgramação orientada a objeto usando Java
11h56m
10 exercícios

Curso GratuitoProgramação em C
11h21m
22 exercícios

Curso GratuitoRuby on Rails para iniciantes
16h31m
32 exercícios

Curso GratuitoJava
27h43m
62 exercícios

Curso GratuitoProgramação em Python
10h21m
27 exercícios

Curso GratuitoEngenharia de software
7h58m
24 exercícios
Milhares de cursos online em vídeo, ebooks e áudiobooks.
Para testar seus conhecimentos no decorrer dos cursos online
Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail
Baixe nosso aplicativo pelo QR Code ou pelos links abaixo:.
+ de 10 milhões
de alunos
Certificado grátis e
válido em todo o Brasil
60 mil exercícios
gratuitos
4,8/5 classificação
nas lojas de apps
Cursos gratuitos em
vídeo, ebooks e audiobooks