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