Junior — Middle
Welche Methoden können verwendet werden, um die Ausführung von Coroutinen innerhalb eines einzelnen Threads umzuschalten?
sobes.tech KI
Antwort von AI
In Kotlin können Koroutinen innerhalb eines einzelnen Threads mit verschiedenen Dispatchern und Funktionen umgeschaltet werden:
- withContext(Dispatchers.Main) — Wechsel zum Haupt- (UI-)Thread.
- withContext(Dispatchers.Default) — Wechsel zu einem Thread-Pool für CPU-intensive Aufgaben.
- withContext(Dispatchers.IO) — Wechsel zu einem Thread-Pool für Ein- und Ausgabevorgänge.
Außerdem kann yield() verwendet werden, um freiwillig die Kontrolle an eine andere Koroutine im aktuellen Thread abzugeben.
Beispiel für einen Kontextwechsel:
launch {
// Arbeit im Haupt-Thread
withContext(Dispatchers.IO) {
// Durchführung einer Ein- / Ausgaboperation
}
// Rückkehr zum Haupt-Thread
}