默认情况下,运算符不对任何特定的调度程序进行操作是什么意思

Mar*_*och 5 rx-java

默认情况下,运算符不对任何特定的调度程序进行操作是什么意思?

示例:CombineLatest。

RxJava 将这个操作符实现为 combineLatest。它可能需要 2 到 9 个 Observables(以及组合函数)作为参数,或者单个 Observables 列表(以及组合函数)。默认情况下,它不会对任何特定的调度程序进行操作。

Bob*_*ish 1

当操作员不执行线程管理操作时,不需要特定的调度程序。

这并不意味着代码不是线程安全的。线程安全是通过使用范围包含、堆栈变量、volatile值和Atomic变量以及最少使用synchronized子句来实现的。

线程管理更加复杂,意味着在线程之间移动操作或数据。在此类运算符的代码中,您将看到它们创建Runnables 或TimerTasks ,这需要了解调度程序。