Procesamiento asíncrono en segundo plano
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
El trabajo asíncrono es el segundo componente del trabajo en segundo plano, junto con el trabajo persistente. Si bien tanto el trabajo persistente como el asíncrono se realizan en segundo plano, en última instancia, son bastante diferentes.
El trabajo asíncrono es aquel que:
- Se desarrolla en el momento
- No es necesario que persista cuando se reinicie la app o el dispositivo.
- Ocurre fuera del subproceso principal o bloquea este.
Esto contrasta con el trabajo persistente, que puedes programar para su ejecución futura y que permanece programado a través de reinicios de la app y del dispositivo.
Un ejemplo de trabajo asíncrono puede ser el envío de una solicitud HTTP desde el subproceso principal y mostrar el resultado solo cuando se llega.
Java y Kotlin
La forma en que controlas el trabajo asíncrono depende de la arquitectura general de la app que sigas. Si trabajas con una app del lenguaje de programación Java, tus necesidades
son diferentes a las de trabajar con Kotlin.
|
Kotlin |
Java |
Solución |
Corrutinas. |
subprocesos de Java. |
Lecturas adicionales |
Para obtener una descripción general completa de las corrutinas, consulta la guía de corrutinas. |
Consulta la página Subprocesos de Java para obtener más información. |
Lecturas adicionales
Para obtener más información sobre el trabajo persistente, consulta la descripción general del trabajo persistente.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-26 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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)."]]