Sobes.tech
Junior — Middle
110

Explique o princípio de funcionamento das corrotinas e como elas são gerenciadas durante a execução.

Resposta da IA

sobes.tech IA

As corrotinas são funções que podem pausar a sua execução e retomá-la mais tarde, mantendo o seu estado. Em Python, as corrotinas são implementadas com a palavra-chave async def e geridas através de um ciclo de eventos (event loop).

Durante a execução, uma corrotina pode "esperar" (await) que uma operação assíncrona termine, libertando o controlo para outras tarefas. Isto permite trabalhar de forma eficiente com operações de entrada/saída sem bloquear o thread.

Exemplo de uma corrotina simples:

import asyncio

async def say_hello():
    print("Olá")
    await asyncio.sleep(1)  # pausa a corrotina por 1 segundo
    print("Mundo")

asyncio.run(say_hello())

Aqui, await transfere o controlo para o ciclo de eventos, que pode alternar entre outras corrotinas, garantindo a assíncronia.

Assim, as corrotinas permitem escrever código assíncrono semelhante ao síncrono, simplificando o tratamento de tarefas paralelas.