Junior — Middle
Kokius būdus žinai užduotims vykdyti Coroutines?
sobes.tech AI
Atsakymas iš AI
Kotlin Coroutines užduotys gali būti vykdomos keliais būdais:
-
launch — pradeda naują coroutine, kuri vyksta lygiagrečiai ir negrąžina rezultato. Naudojama foninėms užduotims, kur rezultatas nereikalingas.
-
async — pradeda coroutine, kuri grąžina rezultatą Deferred formoje, leidžiantį gauti rezultatą naudojant await(). Tinka paraleliniams skaičiavimams su rezultatu.
-
runBlocking — blokuoja esamą srautą iki kol coroutine baigsis, dažnai naudojama pagrindinėse funkcijose arba testuose.
-
withContext — keičia vykdymo kontekstą (pavyzdžiui, į Dispatchers.IO, skirtą įvesties/išvesties operacijoms) ir vykdo kodo bloką, grąžindamas rezultatą.
Pavyzdys:
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000)
println("Užduotis launch")
}
val result = async {
delay(500)
42
}
println("async rezultatas: ${result.await()}")
}