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:
-
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 usarawaitpara pausar a execução até que uma operação assíncrona seja concluída. -
Geradores com yield — abordagem mais antiga, onde a corutina é implementada como um gerador que é pausado em
yielde retomado de fora. Este método requer gestão adicional do ciclo de eventos. -
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.
-
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.