创建操作符,基础可以从 这篇博客学习
但是为啥我还要从新在写一篇博客呢?因为有些东西,我想着重强调一下,上面的博客中没有设涉及到
一、线程问题
interval的线程问题
/**
* subscribeOn : 发送事件的线程
* observerOn: 接收事件的线程
* interval测试
* 特别说明:经过测试interval会特别精准,他会刨除onNext的执行事件,非常好用,可用用来做定时器使用
* 线程问题:默认为设置线程:
* interval会开启一个RxComputationThread线程,并且观察者也在这个线程中。
*
* 打印结果:
* interval的Observable 线程:RxComputationThreadPool-2
* interval的Observer 线程:RxComputationThreadPool-2
* 假如我们手动设置了线程:
* .subscribeOn(Schedulers.computation())
* .observeOn(Schedulers.io())
* 说明问题:interval的事件发送线程始终跟观察者在同一个线程中,并且
* 会一直在observeOn(Schedulers.io()) 设置的线程中,
* .subscribeOn(Schedulers.computation())没有起到任何作用
*
* 打印结果
* interval的Observable 线程:RxCachedThreadScheduler-1
* interval的Observer 线程:RxCachedThreadScheduler-1
*
*
*/