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.