- 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 转换为新的调度器实例。 |
广告