RxJava Schedulers 调度器

调度器在多线程环境中用于与 Observable 操作符一起工作。

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

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

RxJava 中有以下类型的调度器可用:

调度器 描述
Schedulers.computation() 创建并返回一个用于计算工作的调度程序。要调度的线程数取决于系统中存在的 CPU。每个 CPU 允许一个线程。最适合事件循环或回调操作。
Schedulers.io() 创建并返回一个用于 IO 绑定工作的调度程序。线程池可以根据需要进行扩展。
Schedulers.newThread() 创建并返回一个为每个工作单元创建一个新线程的调度程序。
Schedulers.trampoline() 创建并返回一个调度程序,该调度程序将当前工作完成后要执行的当前线程上的工作排入队列。。
Schedulers.from(java.util.concurrent.Executor executor) 将 Executor 转换为新的 Scheduler 实例。

热门文章

优秀文章