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