Sobes.tech
Junior — Middle

¿Puedes describir los principales flujos fríos (cold flows) en Coroutines y sus características?

sobes.tech AI

Respuesta de la IA

Los flujos en frío (cold flows) en Kotlin Coroutines son flujos que comienzan a emitir datos solo cuando se suscriben a ellos (collect). Hasta ese momento, no realizan cálculos ni ocupan recursos.

Características de los flujos en frío:

  • Ejecución perezosa: el código dentro de flow se ejecuta solo al suscribirse.
  • Las múltiples suscripciones conducen a la ejecución repetida del código.
  • Permiten describir secuencias de datos que se generan bajo demanda.

Ejemplo de flujo en frío:

val flow = flow {
    println("Flow started")
    emit(1)
    emit(2)
}

fun main() = runBlocking {
    println("Before collect")
    flow.collect { value -> println(value) }
    println("After collect")
}

La salida será:

Before collect
Flow started
1
2
After collect

Esto muestra que el código dentro de flow se ejecuta solo al hacer collect.