今天还是 ReactiveX 中的例子,主要说明调度器的使用。
Some ReactiveX Observable operators have variants that take a Scheduler as a parameter. These instruct the operator to do some or all of its work on a particular Scheduler.By default, an Observable and the chain of operators that you apply to it will do its work, and will notify its observers, on the same thread on which its Subscribe method is called. The SubscribeOn operator changes this behavior by specifying a different Scheduler on which the Observable should operate. The ObserveOn operator specifies a different Scheduler that the Observable will use to send notifications to its observers.
[自己的理解]
这段话主要讲 ReactiveX 中的调度器,也就是关于 ReactiveX 中的线程问题。对于 ReactiveX 中可观察对象操作符来说,它有时会携带一个调度器作为参数,这样可以指定可观察对象在哪一个线程中执行。而默认的情况下,某些可观察对象是在订阅者订阅时的那个线程中执行。SubscribeOn 可以改变可观察对象该在那个调度器中执行。ObserveOn 用来改变给订阅者发送通知时所在的调度器。这样就可以使可观察对象想在那个调度器中执行就在那个调度器中执行,不受约束,而这些细节是不被调用者所关心的。犹如 GCD 一样,你只管使用,底层线程是咋么创建的,你不必关心。
[翻译]
一些 ReactiveX 可观察的操作符带有一个调度器作为参数的变体。这样可以指定这些操作符在特定的调度器中完成部分或全部的工作。默认情况下,一个可观察的对象和它的操作符链将在你给予它的调度器下工作,并且会在订阅方法被调用时的线程上通知它的观察者。SubscribeOn 操作符通过指定不同的调度器来改变这种行为。ObserveOn 操作符指定一个不同的调度器,可观察对象将使用这个调度器给它的观察者发送通知。
[生词]
- variant:转化,变体,不同的
- instruct:指示,通知;
- scheduler:调度器;
[来源]
[reactivex] (http://reactivex.io/intro.html)
网友评论