Sobes.tech
Junior — Middle

Ի՞նչ եղանակներ գիտես Tasks-ների կատարում համար in Coroutines։

sobes.tech AI

Պատասխան AI-ից

Kotlin Coroutines-ում առաջադրանքները կարող են կատարվել մի քանի եղանակով:

  • launch — սկսում է նոր coroutine, որը կատարվում է զուգահեռ և չի վերադարձնում արդյունք: Օգտագործվում է ֆոնային առաջադրանքների համար, որտեղ արդյունքը անհրաժեշտ չէ:

  • async — սկսում է coroutine, որը վերադարձնում է արդյունք որպես Deferred, որը կարելի է ստանալ await()-ի միջոցով: Համապատասխանում է զուգահեռ հաշվարկների, որոնց արդյունքը անհրաժեշտ է:

  • runBlocking — խանգարում է ընթացիկ հոսքին մինչև coroutine- ի ավարտը, և հաճախ օգտագործվում է main ֆունկցիաներում կամ թեստերում:

  • withContext — փոխում է կատարման կոնտեքստը (օրինակ, Dispatchers.IO- ի համար մուտք-արտաքին գործողությունների համար) և կատարում է կոդի բլոկը, վերադարձնելով արդյունքը:

Օրինակ:

import kotlinx.coroutines.*

fun main() = runBlocking {
    launch {
        delay(1000)
        println("launch- ի առաջադրանք")
    }

    val result = async {
        delay(500)
        42
    }

    println("async- ի արդյունքը: ${result.await()}")
}