Junior — Middle
Coroutines-də tapşırıqları yerinə yetirməyin hansı üsullarını bilirsiniz?
sobes.tech Süni İntellekt
AI-dan cavab
Kotlin Coroutines-də tapşırıqlar müxtəlif üsullarla yerinə yetirilə bilər:
-
launch — yeni coroutine başlayır, paralel işləyir və nəticə qaytarmır. Arxa plan tapşırıqları üçün istifadə olunur, nəticə lazım deyil.
-
async — nəticə ilə Deferred şəklində nəticə qaytaran coroutine başlayır, await() vasitəsilə nəticəni əldə etmək mümkündür. Nəticəli paralel hesablamalar üçün uyğundur.
-
runBlocking — cari axını, coroutine tamamlanana qədər bloklayır və çox vaxt main funksiyalarında və ya testlərdə istifadə olunur.
-
withContext — icra kontekstini dəyişir (məsələn, Dispatchers.IO-ya giriş-çıxış əməliyyatları üçün) və kod blokunu icra edir, nəticəni qaytarır.
Nümunə:
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000)
println("launch içində tapşırıq")
}
val result = async {
delay(500)
42
}
println("async nəticəsi: ${result.await()}")
}