Asynchrone Hintergrundverarbeitung
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Asynchrone Arbeiten sind neben persistenten Arbeiten die zweite Komponente der Hintergrundarbeit. Sowohl persistente als auch asynchrone Arbeit finden im Hintergrund statt, unterscheiden sich aber letztendlich erheblich.
Bei asynchroner Arbeit gilt Folgendes:
- Findet Momente im Moment.
- Die Daten müssen nicht bei einem App-Neustart oder Geräteneustart beibehalten werden.
- Tritt außerhalb des Hauptthreads auf oder blockiert ihn.
Dies steht im Gegensatz zu harter Arbeit, die Sie für die zukünftige Ausführung planen können und die durch App-Neustarts und Geräteneustarts geplant bleibt.
Ein Beispiel für asynchrone Arbeit kann darin bestehen, eine HTTP-Anfrage aus dem Hauptthread zu senden und das Ergebnis erst dann zurückzugeben, wenn sie eintrifft.
Java und Kotlin
Wie Sie mit asynchroner Arbeit umgehen, hängt von der gesamten Anwendungsarchitektur ab, der Sie folgen. Wenn Sie mit einer Java-Anwendung (Programmiersprache) arbeiten, gelten andere Anforderungen als bei Kotlin.
|
Kotlin |
Java |
Die Lösung |
Koroutinen. |
Java-Threads. |
Weitere Informationen |
Eine vollständige Übersicht über Koroutinen finden Sie im Leitfaden zu Koroutinen. |
Weitere Informationen finden Sie auf der Seite Java-Threads. |
Weitere Informationen
Weitere Informationen zu persistenter Arbeit finden Sie in der Übersicht zu persistenter Arbeit.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-26 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-26 (UTC)."],[],[],null,["# Asynchronous background processing\n\nAsynchronous work is the second component of background work, alongside\npersistent work. While both persistent and asynchronous work take place in the\nbackground, they are ultimately quite different.\n\nAsynchronous work is that which:\n\n- Takes place in the moment.\n- Does not need to persist across app restarts or device reboots.\n- Occurs off the main thread, or blocks the main thread.\n\nThis is in contrast to persistent work, which you may schedule for future\nexecution and which remains scheduled through app restarts and device reboots.\nAn example of asynchronous work may be sending an HTTP request off the main\nthread, returning its result only when it arrives.\n\nJava and Kotlin\n---------------\n\nThe way you handle asynchronous work depends on the overall app architecture\nyou follow. If you are working with a Java Programming Language app, your needs\nare different than if you are working with Kotlin.\n\n| | Kotlin | Java |\n| Solution | Coroutines. | Java threads. |\n| Further reading | For a full overview of Coroutines, see the [Coroutines guide](/kotlin/coroutines). | See the [Java Threads](/guide/background/asynchronous/java-threads) page for more information. |\n|-----------------|------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|\n\nFurther reading\n---------------\n\nFor more information on persistent work, see the [persistent work overview](/guide/background/persistent)."]]