RxJava - Bộ lập lịch
Bộ lập lịch được sử dụng trong môi trường đa luồng để làm việc với các toán tử có thể quan sát.
Theo Reactive, Scheduler được sử dụng để lập lịch trình chuỗi các nhà khai thác sẽ áp dụng như thế nào cho các luồng khác nhau.
Theo mặc định, một Observable và chuỗi toán tử mà bạn áp dụng cho nó sẽ thực hiện công việc của nó và sẽ thông báo cho những người quan sát của nó, trên cùng một chuỗi mà phương thức Subscribe của nó được gọi. Toán tử SubscribeOn thay đổi hành vi này bằng cách chỉ định một Bộ lập lịch khác mà Người quan sát sẽ hoạt động. Toán tử ObserOn chỉ định một Bộ lập lịch khác mà Người quan sát sẽ sử dụng để gửi thông báo cho người quan sát của nó.
Có các loại Bộ lập lịch sau đây có sẵn trong RxJava:
Sr.No. | Trình lập lịch & Mô tả |
---|---|
1 | Schedulers.computation() Tạo và trả về một Bộ lập lịch dành cho công việc tính toán. Số luồng được lên lịch phụ thuộc vào các CPU có trong hệ thống. Một luồng được phép cho mỗi CPU. Tốt nhất cho các vòng lặp sự kiện hoặc hoạt động gọi lại. |
2 | Schedulers.io() Tạo và trả về một Trình lập lịch dành cho công việc có IO. Nhóm chủ đề có thể mở rộng khi cần thiết. |
3 | Schedulers.newThread() Tạo và trả về một Bộ lập lịch trình tạo một Chuỗi mới cho mỗi đơn vị công việc. |
4 | Schedulers.trampoline() Tạo và trả về một Bộ lập lịch hàng đợi hoạt động trên luồng hiện tại sẽ được thực thi sau khi công việc hiện tại hoàn thành. |
4 | Schedulers.from(java.util.concurrent.Executor executor) Chuyển đổi Người thực thi thành một phiên bản Người lập lịch mới. |