当前位置: 首页 > article >正文

RxJava

Single 使用

Flowable 比较重一般使用Single

onSubscribe 产生订阅时调用

线程切换1

2

发送顺序事件.just

just 源码

钩子方法,进行验证再处理

Single 对象

订阅,RxJavaPlugins.onSubscribe 钩子方法,产生订阅和过滤

Single 核心方法,抽象的,实现为SingleJust

订阅和执行成功回调,disposed 表示丢弃,顺时完成,一产生订阅就执行成功

Disposable 枚举类

Single.just 流程图

操作符 map 转换

源码,先判断是否为Null,然后通过钩子方法进行绑定处理

source 源数据,map 接口

创建订阅,然后通过内部对象进行操作

将数据进行转换然后发送给下游

把订阅的事件交给我们创建的下游

产生订阅和错误直接让下游处理,成功则进行apply转换再进行转发

上游先产生订阅,通过MapSingeleObserver进行订阅自身的内部对象

取消事件则是停止上游产生消息断开上游的联系,判断是否是新创建的还是生成的

Single.just则是无延迟和后续

Observable.just则是无延迟,有后续

Observable.interval 则是有延迟有后续

间隔一秒执行

源码:

subscribeActural

is是内部对象

实现了Disable,继承了AtomicRefrence 线程安全的引用,可取消,线程安全,同样也是一个Runnable

每隔一个单位就调用run

在后台线程每隔时间单位执行

调用内部的dispose,如果没有取消则进行取消

 

把内部值设置为传入的值,如果已经设置过不为null则不进行设置

如果进行dispose,则用内部传入的值进行dispose

通过内部进行挂接,连接操作

没有延时的Single则不再产生消息,然后不再计算,其他的则通过内部挂接进行操作

有上游的则不同,判断有没有延时

SingleObserver

上游

Dispose


http://www.kler.cn/a/154597.html

相关文章:

  • daos集群部署(单机)
  • __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ is not explicitly defined
  • HTML5实现俄罗斯方块小游戏
  • CDH安装与配置及相关大数据组件实践
  • 【Conda】Windows下conda的安装并在终端运行
  • 麒麟系统下docker搭建jenkins
  • Halcon tiff 点云读取以及平面矫正
  • 算法工程师面试八股(搜广推方向)
  • jenkins使用nexus插件
  • 如何创建一个vue工程
  • CSS浅谈动画性能
  • 密码学学习笔记(二十二):RSA签名方案
  • CC2530basic_Rf串口无线收发
  • [蓝桥杯 2020 省 AB1] 解码
  • 已解决AttributeError: module ‘gradio‘ has no attribute ‘outputs‘
  • Java集合类的重要性
  • 误用STM32串口发送标志位 “USART_FLAG_TXE” “USART_FLAG_TC”造成的BUG
  • GPT实战系列-大模型训练和预测,如何加速、降低显存
  • 【涨薪技术】深入接口测试之Mock技术
  • 关于STM32G0 FLASH 写入时出现PGSERR的一种处理办法
  • n个整数存放在一个一维数组A中,任选一种程序设计语言,编写一个函数,利用递归的方法,求数组中各整数的平均值
  • 状态模式-C++实现
  • 使用java批量生成Xshell session(*.xsh)文件
  • Unity对接后台和加载图片
  • 4.4-Docker bridge0详解
  • oracle FUNCTION(任意两个时间 之间的工作小时)