美文网首页
Scheduler(二)

Scheduler(二)

作者: 书魂X | 来源:发表于2018-04-02 09:54 被阅读0次

1.Scheduler 的原理

RxJava 遵循的是线程不变的原则,即:在哪个线程调用 subscribe(),就在哪个线程生产事件;在哪个线程生产事件,就在哪个线程消费事件。如果需要切换线程,就需要用到 Scheduler (调度器)。

subscribeOn() 原理图:

subscribeOn()通过操作特定的Scheduler,通知Observable在指定线程执行。

observeOn() 原理图:

ObserveOn()通过操作特定的Scheduler,让Observable指定Observers的执行线程;

如下图所示:

SubscribeOn()指定了事件源将要执行的线程,无论在操作符链的那个位置被调用;因此,不管SubscribeOn()方法调用了多少次,只有离事件源最近的一个会生效,其他都被最近的一个截断了。

ObserveOn()指定的是方法调用以后,Observers所执行的线程。因此,我们可以在操作符链中,多次调用ObserveOn()来切换执行的线程。

相关文章

网友评论

      本文标题:Scheduler(二)

      本文链接:https://www.haomeiwen.com/subject/uqsxcftx.html