Tạo luồng trong WorkManager

Bài viết Bắt đầu sử dụng WorkManager đã đề cập rằng WorkManager thực hiện các công việc nền thay mặt bạn một cách không đồng bộ. Quy trình triển khai cơ bản có thể giải quyết nhu cầu của hầu hết ứng dụng. Để biết thêm các trường hợp sử dụng nâng cao như xử lý đúng cách công việc bị dừng, hãy tìm hiểu về việc tạo luồng và xử lý đồng thời trong WorkManager.

WorkManager cung cấp bốn loại công việc cơ bản:

  • Worker là quy trình triển khai đơn giản nhất và là quy trình bạn đã đọc trong các mục trước. WorkManager tự động chạy quy trình này trên một chuỗi nền. Bạn có thể ghi đè chuỗi này. Hãy đọc thêm về việc tạo luồng trong các thực thể Worker tại bài viết Tạo luồng trong Worker.
  • CoroutineWorker là quy trình triển khai được đề xuất cho người dùng Kotlin. Các thực thể CoroutineWorker hiển thị chức năng tạm ngưng công việc trong nền. Theo mặc định, các thực thể này chạy lệnh Dispatcher mặc định mà bạn có thể ttuỳ chỉnh. Hãy đọc thêm về việc tạo luồng trong các thực thể CoroutineWorker tại bài viết Tạo luồng trong CoroutineWorker.
  • RxWorker là quy trình triển khai được đề xuất cho người dùng RxJava. RxWorkers nên được sử dụng nếu phần lớn mã không đồng bộ hiện tại được mô hình hoá trong RxJava. Tương tự như các khái niệm khác của RxJava, bạn có thể ttuỳ ý chọn chiến lược tạo luồng. Hãy đọc thêm về việc tạo luồng trong các thực thể RxWorker tại bài viết Tạo luồng trong RxWorker.
  • ListenableWorker là lớp cơ sở cho Worker, CoroutineWorkerRxWorker. Lớp này dành cho các nhà phát triển Java không sử dụng RxJava và phải tương tác với các API không đồng bộ dựa trên lệnh gọi lại chẳng hạn như FusedLocationProviderClient. Hãy đọc thêm về việc tạo luồng trong các thực thể ListenableWorker tại bài viết Tạo luồng trong ListenableWorker.