Rxjava 简明教程

RxJava - Schedulers

在多线程环境中使用计划程序来使用 Observable 运算符。

根据 Reactive ,计划程序用于计划运算符链应用到不同的线程的方式。

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

RxJava 中有以下类型的计划程序可用:

Sr.No.

Scheduler & Description

1

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

2

Schedulers.io() 创建并返回一个用于 IO 绑定工作的计划程序。线程池可能根据需要扩展。

3

Schedulers.newThread() 创建并返回一个为每个工作单元创建一个新线程的计划程序。

4

Schedulers.trampoline() 创建并返回一个将工作排队到当前线程在当前工作完成后执行的计划程序。

4

Schedulers.from(java.util.concurrent.Executor executor) 将 Executor 转换为一个新的计划程序实例。