Junior — Middle
Aké spôsoby vykonávania úloh v Coroutines poznáš?
sobes.tech AI
Odpoveď od AI
V Kotlin Coroutines sa dajú úlohy vykonávať rôznymi spôsobmi:
-
launch — spustí novú coroutine, ktorá beží paralelne a nevracia výsledok. Používa sa na pozadie, kde nie je potrebný výsledok.
-
async — spustí coroutine, ktorá vracia výsledok vo forme Deferred, čo umožňuje získať výsledok pomocou await(). Vhodné pre paralelné výpočty s výsledkom.
-
runBlocking — blokuje aktuálny vlákno, kým sa coroutine nedokončí, a často sa používa v hlavnej funkcii alebo v testoch.
-
withContext — mení kontext vykonávania (napríklad na Dispatchers.IO pre vstupno-výstupné operácie) a vykoná blok kódu, vracajúc výsledok.
Príklad:
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000)
println("Úloha v launch")
}
val result = async {
delay(500)
42
}
println("Výsledok od async: ${result.await()}")
}