Sobes.tech
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.