Processamento assíncrono em segundo plano
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O trabalho assíncrono é o segundo componente do trabalho em segundo plano, junto com o trabalho persistente. Embora os trabalhos persistentes e assíncronos ocorram em
segundo plano, eles são bem diferentes.
Trabalho assíncrono é aquele que:
- Acontece no momento.
- Não precisa persistir após as reinicializações do app ou do dispositivo.
- Ocorre fora da linha de execução principal ou bloqueia a linha de execução principal.
Isso é diferente do trabalho persistente, que pode ser programado para execução
futura e que permanece agendado após as reinicializações do app e do dispositivo.
Um exemplo de trabalho assíncrono pode ser enviar uma solicitação HTTP para fora da linha de execução
principal, retornando o resultado somente quando ela chega.
Java e Kotlin
A maneira como você gerencia o trabalho assíncrono depende da arquitetura geral do app
que você segue. Se você estiver trabalhando com um app de linguagem de programação Java, suas necessidades
serão diferentes das necessárias para o Kotlin.
|
Kotlin |
Java |
Solução |
Corrotinas. |
linhas de execução Java. |
Leia mais |
Para ter uma visão geral completa das corrotinas, consulte o Guia de corrotinas. |
Consulte a página Threads Java para mais informações. |
Leia mais
Para mais informações sobre o trabalho persistente, consulte a visão geral do trabalho persistente.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-26 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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)."]]