Xử lý không đồng bộ trong nền
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Công việc không đồng bộ là thành phần thứ hai của công việc ở chế độ nền, cùng với công việc liên tục. Mặc dù cả công việc liên tục và không đồng bộ đều diễn ra ở chế độ nền, nhưng cuối cùng thì chúng khá khác nhau.
Công việc không đồng bộ là:
- Diễn ra ngay lập tức.
- Không cần duy trì sau khi ứng dụng khởi động lại hoặc khởi động lại thiết bị.
- Xảy ra ngoài luồng chính hoặc chặn luồng chính.
Điều này trái ngược với công việc liên tục mà bạn có thể lên lịch thực thi trong tương lai và vẫn được lên lịch thông qua việc khởi động lại ứng dụng và khởi động lại thiết bị.
Một ví dụ về công việc không đồng bộ có thể là gửi yêu cầu HTTP ra khỏi luồng chính, và chỉ trả về kết quả khi đến.
Java và Kotlin
Cách bạn xử lý công việc không đồng bộ phụ thuộc vào cấu trúc ứng dụng tổng thể mà bạn theo dõi. Nếu bạn đang dùng một ứng dụng Ngôn ngữ lập trình Java, thì nhu cầu của bạn sẽ khác với khi bạn dùng Kotlin.
|
Kotlin |
Java |
Giải pháp |
Coroutine. |
Luồng Java. |
Tài liệu đọc thêm |
Để biết thông tin tổng quan đầy đủ về coroutine, hãy xem Hướng dẫn về coroutine. |
Vui lòng xem trang Luồng Java để biết thêm thông tin. |
Tài liệu đọc thêm
Để biết thêm thông tin về khả năng làm việc liên tục, hãy xem bài viết tổng quan về công việc liên tục.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
[null,null,["Cập nhật lần gần đây nhất: 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)."]]