Sobes.tech
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()}")
}