Pemrosesan latar belakang asinkron
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Pekerjaan asinkron adalah komponen kedua dari pekerjaan latar belakang, bersama
pekerjaan persisten. Meskipun pekerjaan persisten dan asinkron berlangsung di latar belakang, keduanya pada dasarnya sangat berbeda.
Pekerjaan asinkron adalah pekerjaan yang:
- Berlangsung pada saat itu juga.
- Tidak perlu terus dipertahankan setiap kali aplikasi dimulai ulang atau perangkat dimulai ulang.
- Terjadi di luar thread utama, atau memblokir thread utama.
Hal ini berbeda dengan pekerjaan persisten, yang dapat Anda jadwalkan untuk eksekusi
di masa mendatang dan yang tetap dijadwalkan melalui mulai ulang aplikasi dan mulai ulang perangkat.
Contoh pekerjaan asinkron mungkin mengirimkan permintaan HTTP dari thread
utama, yang menampilkan hasilnya hanya saat diterima.
Java dan Kotlin
Cara Anda menangani pekerjaan asinkron bergantung pada keseluruhan arsitektur aplikasi
yang Anda ikuti. Jika menggunakan aplikasi Bahasa Pemrograman Java, kebutuhan Anda
akan berbeda dengan jika menggunakan Kotlin.
|
Kotlin |
Java |
Solusi |
Coroutine. |
Thread Java. |
Bacaan lebih lanjut |
Untuk ringkasan lengkap Coroutine, lihat panduan Coroutine. |
Lihat halaman Java Threads untuk informasi selengkapnya. |
Bacaan lebih lanjut
Untuk mengetahui informasi selengkapnya tentang pekerjaan persisten, lihat ringkasan pekerjaan persisten.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-26 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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)."]]