Rx 调度器 Scheduler
指定Observable,Observer在特定的调度器(线程)上执行
线程类型
- 默认
Schedulers.immediate(),在当前线程立即开始执行任务(调用 subscribe()的线程)
- 新线程
Schedulers.newThread()
- I/O
Schedulers.io() 内部实现是一个无数量上限的线程池
- 计算
Schedulers.computation() CPU密集型计算,固定的线程池,大小为CPU核数
- Android主线程
AndroidSchedulers.mainThread()
- Executor
Schedulers.from(executor) 使用指定的Executor作为调度器
- 排队
Schedulers.trampoline() 当其它排队的任务完成后,在当前线程排队开始执行
运行线程设置
- subscribeOn(Scheduler) -->onSubscribe()
让Observable在一个特定的调度器上执行
影响数据发出的开端 - observeOn(Scheduler) -->下级 subscriber
让Observer在一个特定的调度器上执行
影响下级数据处理