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