Junior — Middle
Explique o mecanismo de interação dos elementos-chave async e await no processamento de corrotinas.
sobes.tech IA
Resposta da IA
No Kotlin, as corrotinas usam as palavras-chave async e await para programação assíncrona.
- async inicia uma nova corrotina e retorna um Deferred — um resultado diferido.
- await é chamado em um Deferred e suspende a execução da corrotina atual até obter o resultado, sem bloquear a thread.
Exemplo:
val deferred = async {
// Operação longa
fetchData()
}
val result = deferred.await() // Espera pelo resultado de forma assíncrona
Assim, async permite iniciar tarefas em paralelo, e await permite obter seus resultados, mantendo a assíncronia e sem bloquear a thread principal.