Sobes.tech
Junior — Middle

¿Qué formas de realizar tareas en Coroutines conoces?

sobes.tech AI

Respuesta de la IA

En Kotlin Coroutines, las tareas se pueden realizar de varias maneras:

  • launch — inicia una nueva coroutine que se ejecuta en paralelo y no devuelve resultado. Se usa para tareas en segundo plano donde no se necesita resultado.

  • async — inicia una coroutine que devuelve un resultado en forma de Deferred, permitiendo obtener el resultado mediante await(). Es adecuado para cálculos paralelos con resultado.

  • runBlocking — bloquea el hilo actual hasta que la coroutine termina, y se usa a menudo en funciones main o en pruebas.

  • withContext — cambia el contexto de ejecución (por ejemplo, a Dispatchers.IO para operaciones de entrada/salida) y ejecuta un bloque de código, devolviendo el resultado.

Ejemplo:

import kotlinx.coroutines.*

fun main() = runBlocking {
    launch {
        delay(1000)
        println("Tarea en launch")
    }

    val result = async {
        delay(500)
        42
    }

    println("Resultado de async: ${result.await()}")
}