Junior — Middle
Coroutines'daki temel soğuk akışları (cold flows) ve özelliklerini açıklayabilir misin?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin Coroutines'deki soğuk akışlar (cold flows), yalnızca abone olunduğunda (collect) veri göndermeye başlayan akışlardır. Bu zamana kadar herhangi bir hesaplama yapmazlar ve kaynak kullanmazlar.
Soğuk akışların özellikleri:
- Tembel yürütme: flow içindeki kod yalnızca abone olunduğunda çalışır.
- Birden fazla abone, kodun tekrar çalışmasına neden olur.
- Talep üzerine üretilen veri dizilerini tanımlamaya izin verirler.
Soğuk akış örneği:
val flow = flow {
println("Flow started")
emit(1)
emit(2)
}
fun main() = runBlocking {
println("Before collect")
flow.collect { value -> println(value) }
println("After collect")
}
Çıktı şu şekilde olacaktır:
Before collect
Flow started
1
2
After collect
Bu, flow içindeki kodun yalnızca collect sırasında çalıştığını gösterir.