响应式编程2线程调度(RxJava2.x示例)

标签:

本文出自jvm123.com-java技术分享站:http://jvm123.com/2019/09/xiang-ying-shi-bian.html

在响应式编程中,最基本是一个观察者模式的框架,一般我们自定义有以下三部分:

  1. 自定义事件的发生
  2. 自定义处理(下一篇文章讲到)
  3. 自定义监听(观察者)

其中在整个过程中,我们可以指定事件发生和事件监听的代码执行的线程,具体使用 observeOn 和 subscribeOn 方法指定。如下实例:

线程调度实例:

        Observable.create(
                    ...
                ) // 事件发生
                .observeOn(Schedulers.newThread())  // 指定事件发生的线程
                .subscribeOn(Schedulers.io())  // 指定事件回调的线程
                .subscribe(
                    ...
                );

observeOn 指定了事件发生的线程;subscribeOn指定了事件监听(回调)执行的线程。

在使用Rxjava进行网络请求时,一般请求的代码可以作为事件发生代码,请求完成后的响应回调就可以作为监听代码。结合以上代码,就是使用新的线程请求,请求完成后在io线程响应结果。例如,在Android开发时,对Activity的操作,只能在主线程进行,所以这里线程调度的设置就非常有必要。

线程调度的用法

observeOn 和 subscribeOn 方法都接收一个Scheduler。

发表评论