import asyncio
async def temporizador():
print('Iniciando temporizador...')
await asyncio.sleep(3)
print('Temporizador finalizado!')
asyncio.run(temporizador())
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
import asyncio
async def temporizador():
print('Iniciando temporizador...')
await asyncio.sleep(3)
print('Temporizador finalizado!')
asyncio.run(temporizador())
Oi, Nicole! Tudo bom?
Excelente! Continue resolvendo os desafios e compartilhando com a comunidade Alura.
Você soube aplicar funções assíncronas com async def de forma eficiente, aproveitou o método asyncio.sleep() para simular esperas não bloqueantes e entendeu como o asyncio.run() é essencial para iniciar uma rotina assíncrona principal em Python.
Como dica adicional, experimente utilizar asyncio.gather() quando precisar executar múltiplas tarefas assíncronas ao mesmo tempo. Assim:
import asyncio
async def tarefa(nome, tempo):
print(f"Iniciando {nome}...")
await asyncio.sleep(tempo)
print(f"{nome} finalizada!")
async def main():
await asyncio.gather(
tarefa("Tarefa 1", 2),
tarefa("Tarefa 2", 3)
)
asyncio.run(main())
Resultado:
Iniciando Tarefa 1...
Iniciando Tarefa 2...
Tarefa 1 finalizada!
Tarefa 2 finalizada!
Com isso, você poderá executar várias tarefas simultaneamente com mais facilidade.
Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:
Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!