今天還是 ReactiveX 中的例子,主要說明調(diào)度器的使用。
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 中的調(diào)度器,也就是關(guān)于 ReactiveX 中的線程問題。對于 ReactiveX 中可觀察對象操作符來說,它有時會攜帶一個調(diào)度器作為參數(shù),這樣可以指定可觀察對象在哪一個線程中執(zhí)行。而默認的情況下,某些可觀察對象是在訂閱者訂閱時的那個線程中執(zhí)行。SubscribeOn 可以改變可觀察對象該在那個調(diào)度器中執(zhí)行。ObserveOn 用來改變給訂閱者發(fā)送通知時所在的調(diào)度器。這樣就可以使可觀察對象想在那個調(diào)度器中執(zhí)行就在那個調(diào)度器中執(zhí)行,不受約束,而這些細節(jié)是不被調(diào)用者所關(guān)心的。猶如 GCD 一樣,你只管使用,底層線程是咋么創(chuàng)建的,你不必關(guān)心。
[翻譯]
一些 ReactiveX 可觀察的操作符帶有一個調(diào)度器作為參數(shù)的變體。這樣可以指定這些操作符在特定的調(diào)度器中完成部分或全部的工作。默認情況下,一個可觀察的對象和它的操作符鏈將在你給予它的調(diào)度器下工作,并且會在訂閱方法被調(diào)用時的線程上通知它的觀察者。SubscribeOn 操作符通過指定不同的調(diào)度器來改變這種行為。ObserveOn 操作符指定一個不同的調(diào)度器,可觀察對象將使用這個調(diào)度器給它的觀察者發(fā)送通知。
[生詞]
- variant:轉(zhuǎn)化,變體,不同的
- instruct:指示,通知;
- scheduler:調(diào)度器;
[來源]
[reactivex] (http://reactivex.io/intro.html)