Rxjava(二)线程调度(线程切换)

  • Observer observer :表示一条数据流
  • observer.subscribe(new Observer())//将数据流打印出来
Observable.create(new ObservableOnSubscribe()) //创建一个事件流
                .map(...)//使用操作符将数据流进行变换
                .subscribeOn(Schedulers.io())//订阅者的线程
                .observeOn(AndroidSchedulers.mainThread())//观察者的线程
                .subscribe(new Observer())//new Observer()是我们创建的一个观察者

区分

  • 了解:
    Schedulers.io():子线程 (io线程)
    AndroidSchedulers.mainThread():主线程(main)
    Schedulers.newThread():new 出来的子线程
  1. 事件产生 (生成一条流)
    create() , just() , from()
  2. 事件加工(将这条流加工)
    map() , flapMap() , scan() , filter()
  3. 事件消费(将流打印出来、输出)
    subscribe()

作用线程

  1. 事件产生:默认运行在当前线程,可以由 subscribeOn() 自定义线程。
  2. 事件加工:默认跟事件产生的线程保持一致, 可以由 observeOn() 自定义线程。
  3. 事件消费:默认运行在当前线程,可以由observeOn() 自定义线程。
  • 注意:
    observeOn() 可以调用多次来切换线程,observeOn 决定他下面的方法执行时所在的线程。
    subscribeOn() 用来确定数据发射所在的线程,位置放在哪里都可以,但它是只能调用一次的。

参考:https://www.cnblogs.com/zhaoyanjun/p/5624395.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值