import asyncio
async def temporizador():
print('Iniciando temporizador...')
await asyncio.sleep(3)
print('Temporizador finalizado!')
asyncio.run(temporizador())
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!