Sobes.tech
Junior — Middle

Welche Methoden zur Ausführung von Aufgaben in Coroutines kennst du?

sobes.tech KI

Antwort von AI

In Kotlin Coroutines können Aufgaben auf verschiedene Weisen ausgeführt werden:

  • launch — startet eine neue Coroutine, die parallel ausgeführt wird und kein Ergebnis zurückgibt. Wird für Hintergrundaufgaben verwendet, bei denen kein Ergebnis benötigt wird.

  • async — startet eine Coroutine, die ein Ergebnis in Form eines Deferred zurückgibt, sodass das Ergebnis mit await() abgerufen werden kann. Geeignet für parallele Berechnungen mit Ergebnis.

  • runBlocking — blockiert den aktuellen Thread, bis die Coroutine beendet ist, und wird häufig in main-Funktionen oder Tests verwendet.

  • withContext — wechselt den Ausführungskontext (z.B. zu Dispatchers.IO für Ein- und Ausgabeoperationen) und führt einen Codeblock aus, der das Ergebnis zurückgibt.

Beispiel:

import kotlinx.coroutines.*

fun main() = runBlocking {
    launch {
        delay(1000)
        println("Aufgabe in launch")
    }

    val result = async {
        delay(500)
        42
    }

    println("Ergebnis von async: ${result.await()}")
}