Asynchroniczne przetwarzanie w tle
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Praca asynchroniczna to drugi element
pracy w tle, oprócz pracy stałej. Choć zarówno trwała, jak i asynchroniczna praca odbywa się w tle,
ostatecznie oba te procesy znacznie się różnią.
Praca asynchroniczna oznacza, że:
- Akcja toczy się w momencie.
- Nie musi utrzymywać się po ponownym uruchomieniu aplikacji ani urządzeniu.
- Wychodzi poza wątek główny lub blokuje wątek główny.
Odbywa się to w przeciwieństwie do trwałych prac, które można zaplanować na przyszłość i które pozostają zaplanowane przez ponowne uruchomienia aplikacji i ponowne uruchomienia urządzenia.
Przykładem pracy asynchronicznego może być wysyłanie żądania HTTP z wątku głównego, które zwraca wynik tylko wtedy, gdy nadejdzie.
Java i Kotlin
Sposób obsługi asynchronicznej pracy zależy od ogólnej architektury aplikacji, którą stosujesz. Jeśli używasz aplikacji Java Programming Language, Twoje potrzeby są inne niż w przypadku Kotlin.
Więcej materiałów
Więcej informacji o trwałej pracy znajdziesz w omówieniu stałej pracy.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-26 UTC.
[null,null,["Ostatnia aktualizacja: 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)."]]