Junior — Middle
Kādus veidus zini uzdevumu izpildei Coroutines?
sobes.tech AI
Atbilde no AI
Kotlin Coroutines uzdevumus var veikt vairākos veidos:
-
launch — uzsāk jaunu korutinu, kas darbojas paralēli un neatgriež rezultātu. Izmanto fonu uzdevumiem, kuros rezultāts nav nepieciešams.
-
async — uzsāk korutinu, kas atgriež rezultātu Deferred formā, ļaujot to iegūt ar await(). Piemērots paralēliem aprēķiniem ar rezultātu.
-
runBlocking — bloķē pašreizējo pavedienu līdz korutina pabeigšanai, un bieži tiek izmantots galvenajās funkcijās vai testos.
-
withContext — maina izpildes kontekstu (piemēram, uz Dispatchers.IO, lai veiktu ievades/izvades operācijas) un izpilda koda bloku, atgriežot rezultātu.
Piemērs:
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000)
println("Uzdevums launch")
}
val result = async {
delay(500)
42
}
println("async rezultāts: ${result.await()}")
}