4、RxJava-线程调度器Scheduler

572 阅读1分钟

1.RxJava线程控制(调度 / 切换)的作用

指定 被观察者 (Observable) / 观察者(Observer) 的工作线程类型。

实现异步操作。

2.功能性操作符

subscribeOn():指定被观察者(Observable)的工作线程,多次指定只有第一次生效。

observeOn():指定观察者(Observer)的工作线程,每次指定都切换一次。

3.线程类型

类型 作用
Schedulers.single() 使用定长为1的线程池,重复利用这个线程
Schedulers.computation() 使用的固定的线程池,大小为CPU核数
Schedulers.io() io操作线程,网络请求、读写文件等io密集型操作
Schedulers.trampoline() 直接在当前线程运行,如果当前线程有其他任务正在执行,则会先暂停其他任务
Schedulers.newThread() 每次启用新线程,并在新线程中执行操作
AndroidSchedulers.mainThread() Android主线程

注:RxJava内部使用 ==线程池== 来维护这些线程,所以线程的调度效率非常高。