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