RxJava - 调度程序


调度程序用于多线程环境中与 Observable 运算符一起使用。

根据反应式,调度程序用于调度运算符链如何应用于不同的线程。

默认情况下,Observable 和应用到它的运算符链将在调用其 Subscribe 方法的同一线程上完成其工作,并通知其观察者。SubscribeOn 运算符通过指定 Observable 应在其上运行的不同调度程序来更改此Behave。ObserveOn 运算符指定一个不同的调度程序,Observable 将使用该调度程序向其观察者发送通知。

RxJava 中有以下类型的调度程序 -

先生。 调度程序和描述
1

Schedulers.computation()

创建并返回用于计算工作的调度程序。要调度的线程数取决于系统中存在的 CPU。每个 CPU 允许一个线程。最适合事件循环或回调操作。

2

调度程序.io()

创建并返回用于 IO 绑定工作的调度程序。线程池可以根据需要进行扩展。

3

Schedulers.newThread()

创建并返回一个为每个工作单元创建一个新线程的调度程序。

4

调度程序.trampoline()

创建并返回一个调度程序,该调度程序将当前线程上的工作排队,以便在当前工作完成后执行。

4

Schedulers.from(java.util.concurrent.Executor执行器)

将 Executor 转换为新的 Scheduler 实例。