Scheduler调度器
Rx内置了一些Scheduler方便我们做线程切换,同时我们也可以自定义Scheduler,这样可以将Rx框架的线程池与App现有的线程池进行复用,本文一起分析下原生的Scheduler的工作原理的实现机制。
调度器使用
一个Scheduler可以通过subscribeOn方法,将Observable发射流挂在知道线程上,这个动作只在首次调用生效。在事件发射后的每一操作符也可以指定执行线程,方法是在操作符前通过observeOn切换线程。
关于subscribeOn和observeOn的区别可以参考Rx的说明文档,记住他的几个特性:
- subscribeOn只有首次调用生效,作用于事件发射的产生处和doOnSubscribe(一个特殊的回调)
- observeOn每次调用都生效,作用于其后的操作符