
- RxJava 教程
- RxJava - 首頁
- RxJava - 概述
- RxJava - 環境搭建
- 可觀察物件
- RxJava - 可觀察物件的工作原理
- RxJava - 建立可觀察物件
- RxJava - 單一可觀察物件
- RxJava - Maybe 可觀察物件
- RxJava - Completable 可觀察物件
- RxJava - 使用 CompositeDisposable
- 運算子
- RxJava - 建立運算子
- RxJava - 變換運算子
- RxJava - 過濾運算子
- RxJava - 組合運算子
- RxJava - 工具運算子
- RxJava - 條件運算子
- RxJava - 數學運算子
- RxJava - 可連線運算子
- 主題
- RxJava - 主題
- RxJava - PublishSubject
- RxJava - BehaviorSubject
- RxJava - ReplaySubject
- RxJava - AsyncSubject
- 排程器
- RxJava - 排程器
- RxJava - Trampoline 排程器
- RxJava - NewThread 排程器
- RxJava - Computation 排程器
- RxJava - IO 排程器
- RxJava - 從 Executor 建立排程器
- 其他
- RxJava - 緩衝
- RxJava - 視窗
- RxJava 有用資源
- RxJava - 快速指南
- RxJava - 有用資源
- RxJava - 討論
RxJava - 排程器
排程器用於多執行緒環境中處理可觀察物件的運算子。
根據 Reactive 文件,排程器用於排程運算子鏈在不同執行緒上的執行方式。
預設情況下,可觀察物件和你應用於它的運算子鏈將在呼叫 Subscribe 方法的同一執行緒上執行並通知其觀察者。SubscribeOn 運算子透過指定可觀察物件應在其上執行的不同調度器來更改此行為。ObserveOn 運算子指定可觀察物件用於向其觀察者傳送通知的不同調度器。
RxJava 中有以下幾種型別的排程器:
序號 | 排程器及描述 |
---|---|
1 | Schedulers.computation() 建立並返回一個用於計算工作的排程器。要排程的執行緒數量取決於系統中存在的 CPU 數量。每個 CPU 允許一個執行緒。最適合事件迴圈或回撥操作。 |
2 | Schedulers.io() 建立並返回一個用於 IO 密集型工作的排程器。執行緒池可以根據需要擴充套件。 |
3 | Schedulers.newThread() 建立並返回一個為每個工作單元建立一個新執行緒的排程器。 |
4 | Schedulers.trampoline() 建立並返回一個將工作排隊到當前執行緒並在當前工作完成後執行的排程器。 |
4 | Schedulers.from(java.util.concurrent.Executor executor) 將 Executor 轉換為新的排程器例項。 |
廣告