Sobes.tech
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.