Sobes.tech
Junior — Middle

Como pode implementar a execução simultânea de várias tarefas usando coroutines?

sobes.tech IA

Resposta da IA

Para executar várias tarefas simultaneamente com corrotinas em Kotlin, pode usar:

  • launch — inicia uma nova corrotina que é executada em paralelo com outras.
  • async — inicia uma corrotina que devolve um resultado através de Deferred.

Exemplo de execução simultânea de duas tarefas e espera pelos seus resultados:

import kotlinx.coroutines.*

fun main() = runBlocking {
    val job1 = async {
        delay(1000)
        "Resultado da tarefa 1"
    }
    val job2 = async {
        delay(500)
        "Resultado da tarefa 2"
    }

    // Esperamos ambos os resultados
    val result1 = job1.await()
    val result2 = job2.await()

    println(result1)
    println(result2)
}

Assim, as corrotinas permitem iniciar várias tarefas em paralelo e sincronizar os seus resultados.