Junior — Middle
Můžeš popsat hlavní studené toky (cold flows) v Coroutines a jejich vlastnosti?
sobes.tech AI
Odpověď od AI
Studené proudy (cold flows) v Kotlin Coroutines jsou proudy, které začínají emitovat data až při jejich odběru (collect). Do té doby nevykonávají žádné výpočty a nezabírají zdroje.
Vlastnosti studených proudů:
- Lenivý běh: kód uvnitř flow se spouští pouze při odběru.
- Vícenásobné odběry vedou k opakovanému spuštění kódu.
- Umožňují popis sekvencí dat generovaných na požádání.
Příklad studeného proudu:
val flow = flow {
println("Flow started")
emit(1)
emit(2)
}
fun main() = runBlocking {
println("Before collect")
flow.collect { value -> println(value) }
println("After collect")
}
Výstup bude:
Before collect
Flow started
1
2
After collect
Toto ukazuje, že kód uvnitř flow se spouští pouze při collect.