Junior — Middle
Podes descrever os principais fluxos frios (cold flows) em Coroutines e suas características?
sobes.tech IA
Resposta da IA
Os flux frios (cold flows) em Kotlin Coroutines são fluxos que começam a emitir dados apenas quando são assinados (collect). Até esse momento, eles não realizam cálculos nem ocupam recursos.
Características dos fluxos frios:
- Execução preguiçosa: o código dentro de flow é executado apenas na assinatura.
- Múltiplas assinaturas levam à reexecução do código.
- Permitem descrever sequências de dados geradas sob demanda.
Exemplo de fluxo frio:
val flow = flow {
println("Flow started")
emit(1)
emit(2)
}
fun main() = runBlocking {
println("Before collect")
flow.collect { value -> println(value) }
println("After collect")
}
A saída será:
Before collect
Flow started
1
2
After collect
Isso mostra que o código dentro de flow é executado apenas ao coletar.