RxJava - 调度器



调度器用于多线程环境中处理可观察对象的操作符。

根据 Reactive 文档,调度器用于调度操作符链在不同线程上的执行方式。

默认情况下,可观察对象和你应用于它的操作符链将在调用 Subscribe 方法的同一线程上执行并通知其观察者。SubscribeOn 操作符通过指定可观察对象应在其上执行的不同调度器来更改此行为。ObserveOn 操作符指定可观察对象用于向其观察者发送通知的不同调度器。

RxJava 中有以下几种类型的调度器:

序号 调度器及描述
1

Schedulers.computation()

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

2

Schedulers.io()

创建并返回一个用于 IO 密集型工作的调度器。线程池可以根据需要扩展。

3

Schedulers.newThread()

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

4

Schedulers.trampoline()

创建并返回一个将工作排队到当前线程并在当前工作完成后执行的调度器。

4

Schedulers.from(java.util.concurrent.Executor executor)

将 Executor 转换为新的调度器实例。

广告

© . All rights reserved.