Junior — Middle
Coroutines'ta görevleri yerine getirmenin hangi yollarını biliyorsun?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin Coroutines'ta görevler birkaç şekilde gerçekleştirilebilir:
-
launch — yeni bir coroutine başlatır, paralel olarak çalışır ve sonuç döndürmez. Arka plan görevleri için kullanılır, sonuç gerekmez.
-
async — sonuç döndüren bir Deferred ile sonuçlanan bir coroutine başlatır ve sonucu await() ile almayı sağlar. Sonuçlu paralel hesaplamalar için uygundur.
-
runBlocking — mevcut akışı, coroutine tamamlanana kadar engeller ve genellikle main fonksiyonlarında veya testlerde kullanılır.
-
withContext — yürütme bağlamını değiştirir (örneğin, giriş-çıkış işlemleri için Dispatchers.IO) ve bir kod bloğu çalıştırır, sonucu döndürür.
Örnek:
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000)
println("launch içindeki görev")
}
val result = async {
delay(500)
42
}
println("async sonucu: ${result.await()}")
}