RxJava 调度程序

RxJava 调度程序

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

根据Reactive的定义,调度程序用于安排操作符链在不同线程上的应用方式。

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

RxJava提供以下类型的调度程序:

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程