Traitement en arrière-plan asynchrone
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les tâches asynchrones sont le deuxième composant des tâches en arrière-plan, avec les tâches persistantes. Bien que les tâches persistantes et asynchrones s'exécutent en arrière-plan, elles sont en fin de compte très différentes.
Une tâche asynchrone est une tâche qui:
- Elle se déroule sur le moment.
- Ne nécessite pas la persistance après le redémarrage de l'application ou de l'appareil.
- Se produit en dehors du thread principal ou bloque le thread principal.
Cela diffère du travail persistant, que vous pouvez planifier pour une exécution future et qui reste planifié lors des redémarrages d'applications et d'appareils.
Un exemple de tâche asynchrone peut consister à envoyer une requête HTTP en dehors du thread principal, en ne renvoyant son résultat que lorsqu'il arrive.
Java et Kotlin
La manière dont vous gérez les tâches asynchrones dépend de l'architecture globale de l'application que vous suivez. Si vous travaillez avec une application en langage de programmation Java, vos besoins ne sont pas les mêmes que ceux du Kotlin.
|
Kotlin |
Java |
Solution |
Les coroutines |
Threads Java. |
Complément d'informations |
Pour une présentation complète des coroutines, consultez le guide des coroutines. |
Pour en savoir plus, consultez la page Threads Java. |
Complément d'informations
Pour en savoir plus sur les tâches persistantes, consultez la présentation des tâches persistantes.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/26 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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)."]]