1
resposta

[RESPOSTA]

import asyncio

status_tarefas = ['Em andamento', 'Em andamento', 'Em andamento']

async def tarefa1():
    await asyncio.sleep(3)
    print("Tarefa 1 finalizada!")
    status_tarefas[0] = 'Finalizado'

async def tarefa2():
    await asyncio.sleep(5)
    print("Tarefa 2 finalizada!")
    status_tarefas[1] = 'Finalizado'

async def tarefa3():
    await asyncio.sleep(7)
    print("Tarefa 3 finalizada!")
    status_tarefas[2] = 'Finalizado'

async def verificador():
    print(f"{status_tarefas}")
    while True:
        await asyncio.sleep(1)
        if status_tarefas[0] != 'Finalizado':
            print(f"{status_tarefas} teste1")

        elif status_tarefas[1] != 'Finalizado':
            print(f"{status_tarefas} teste2")

        elif status_tarefas[2] != 'Finalizado':
            print(f"{status_tarefas} teste3")
        else:
            return

async def main():
    await asyncio.gather(
        tarefa1(),
        tarefa2(),
        tarefa3(),
        verificador()
    )

asyncio.run(main())
1 resposta

Olá, Maurício! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de funções assíncronas com asyncio para coordenar tarefas simultâneas, utilizou muito bem o controle de estado com listas para monitorar o progresso das tarefas e ainda compreendeu a importância do verificador em tempo real para acompanhar a execução e finalização dos processos.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!