Sobes.tech
Junior — Middle

Quais são as principais abordagens para criar corutinas na programação?

sobes.tech IA

Resposta da IA

As abordagens principais para criar corutinas dependem da linguagem e do ambiente, mas de modo geral, destacam-se várias formas:

  1. Uso de palavras-chave async/await — método moderno e mais comum. As corutinas são declaradas com async def, e dentro delas pode-se usar await para pausar a execução até que uma operação assíncrona seja concluída.

  2. Geradores com yield — abordagem mais antiga, onde a corutina é implementada como um gerador que é pausado em yield e retomado de fora. Este método requer gestão adicional do ciclo de eventos.

  3. Callbacks (funções de retorno) — funções passadas como argumentos e chamadas ao concluir a operação. Não são exatamente corutinas, mas são frequentemente usados em programação assíncrona.

  4. Uso de bibliotecas e frameworks que fornecem seus próprios mecanismos de corutinas (por exemplo, Kotlin Coroutines para Android).

Exemplo em Python com async/await:

import asyncio

async def fetch_data():
    await asyncio.sleep(1)  # simulação de atraso
    return 'dados'

async def main():
    resultado = await fetch_data()
    print(resultado)

asyncio.run(main())

Este método simplifica a escrita de código assíncrono, tornando-o semelhante ao código síncrono.