本系列写作目的,为了辅助 Hystrix 的理解,因此会较为零散与琐碎,望见谅见谅。
- RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
- RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
- 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
- 新的源码解析文章实时收到通知。每周更新一篇左右。
- 认真的源码交流微信群。
方法,用途如下 :
- Observable#subscribeOn(Scheduler)
FROM 《ReactiveX 文档中文翻译 —— SubscribeOn》 指定 Observable 自身在哪个调度器上执行很多 ReactiveX 实现都使用调度器 "Scheduler" 来管理多线程环境中 Observable 的转场。你可以使用 SubscribeOn 操作符指定 Observable 在一个特定的调度器上运转。
从概念上可能比较模糊,或者我们换一种说法 :
FROM 《给 Android 开发者的 RxJava 详解》「 3. 线程控制 —— Scheduler (一) 」 #subscribeOn() :指定 #subscribe() 所发生的线程,即
被激活时所处的线程。或者叫做事件产生的线程。
- Observable.OnSubscribe
来来来,一起瞅瞅源码,更加清理的理解。
方法,代码如下 :
- Observable#subscribeOn(Scheduler)
OperatorSubscribeOn 类,代码如下 :
方法的调用链路不太熟悉,我们手撸一个实例,并且打个断点感受下 :
- OnSubscribe#call(Subscriber)
里。Worker 类实现了 rx.Subscription 接口。
- subscriber.subscriptions
被激活时所处的线程。或者叫做事件产生的线程。"。
- Observable.OnSubscribe
方法,继续订阅逻辑。
- Observable#unsafeSubscribe(...)
来源: http://www.suo.im/4eEsN2