A “hot” Observable may begin emitting items as soon as it is created, and so any observer who later subscribes to that Observable may start observing the sequence somewhere in the middle. A “cold” Observable, on the other hand, waits until an observer subscribes to it before it begins to emit items, and so such an observer is guaranteed to see the whole sequence from the beginning.官网上的解释已经比较详细了,简单点说区别就是cold会等到有observer监听之后,才会发出事件,而hot则可能随时发出事件,不顾是否有observer监听了这个observable。

这是observable继承关系的类图,cold observable属于ordinary observable,也就是图中的observable类,而hot observable则属于ConnectableObservable,值得注意的是在ConnectableObservable有一个有趣的函数connect函数,方法签名如下:

从方法的注解可以了解,这就是hot和cold observable的区别所在,还有一点值得注意的就是类图中的Subject,Subject在RX中属于既是observable又是observer,具有双面性

上图是ConnectableObservable的注解,示意图搞得让人有点不理解,图中publish函数就是把一个cold observable转换成hot observable的函数(系统提供的api)
参看文献:
http://reactivex.io/documentation/subject.html
http://www.javacodegeeks.com/2015/03/hot-and-cold-rx-java-observable.html

hot and cold observable相关推荐

  1. [译] 开发者(也就是我)与Rx Observable 类的对话 [ Android RxJava2 ] ( 这到底是什么?) 第五部分...

    本文讲的是[译] 开发者(也就是我)与Rx Observable 类的对话 [ Android RxJava2 ] ( 这到底是什么?) 第五部分, 原文地址:Dialogue between Rx ...

  2. forkjoin rxjs_如何通过吃披萨来理解RxJS运算符:zip,forkJoin和Combine

    forkjoin rxjs 什么是RxJS? (What is RxJS?) Reactive programming is an asynchronous programming paradigm ...

  3. 宇宙条一面:十道经典面试题解析

    前言 有位朋友面试了宇宙条,后端方向.整理了这几道面试真题以及答案,如有错误,欢迎大家留言区讨论哈.金九银十冲刺,面试的小伙伴加油呀. 1.http请求头里,expire和cache-control字 ...

  4. 如何形象地描述 RxJava 中的背压和流控机制?

    之前我在知乎上受邀回答过一个关于RxJava背压(Backpressure)机制的问题,今天我把它整理出来,希望对更多的人能有帮助. RxJava的官方文档中对于背压(Backpressure)机制比 ...

  5. 1、Reactive Extensions for .NET(译)

    本文转自:http://www.cnblogs.com/hebeiDGL/p/3403510.html 原版资料请参阅:http://download.microsoft.com/download/2 ...

  6. Android RxJava 2.0中backpressure(背压)概念的理解

    英文原文:https://github.com/ReactiveX/RxJava/wiki/Backpressure Backpressure(背压.反压力) 在rxjava中会经常遇到一种情况就是被 ...

  7. 拥抱RxJava(番外篇):关于RxJava的Tips Tricks

    前言: 起初写 拥抱RxJava 系列文章.只是因为看到很多人在使用RxJava时候,并没有很正确的理解Reactive Programming.仅仅在项目中使用了Retrofit的Rx Adapte ...

  8. 谈谈我对服务熔断、服务降级的理解 专题

    伴随着微服务架构被宣传得如火如荼,一些概念也被推到了我们面前(管你接受不接受),其实大多数概念以前就有,但很少被提的这么频繁(现在好像不提及都不好意思交流了). 想起有人总结的一句话,微服务架构的特点 ...

  9. RXJava by Example--转

    原文地址:https://www.infoq.com/articles/rxjava-by-example Key takeaways Reactive programming is a specif ...

最新文章

  1. Morph 3D拥有近千名艺术家,欲打造全球最大的VR虚拟化身服装库
  2. CentOS6.9编译安装Nginx1.12
  3. 前端学习 -- Css -- 字体分类
  4. DE标识DellUtility磁盘手动创建
  5. java中浮点数的表示_java 浮点数表示法
  6. 民生银行场景化数据中台是如何炼成的?
  7. 第一章 初识Linux shell
  8. Brocade NOS学习笔记(第一章——第三章)
  9. 关于WCF、WebAPI、WebService之间的区别总结 分布式通信技术
  10. realloc函数使用总结
  11. Java基础——synchronized
  12. y电容如何选型_高压并联补偿电容器基础及运行管理
  13. 大疆网上测评题库_【大疆在线测试有几套题啊?】-看准网
  14. 理解Eureka的自我保护模式
  15. texturepacker图片打包偶然出现的错误
  16. 读此一席话,胜读十年书:最牛情场职场语录大全
  17. 小功能⭐️Unity2018 Shader Graph——全息影像、物体消融
  18. Debian安装和配置chrony服务器
  19. 如何利用OA优化企业的采购招投标流程
  20. cassandra 3.x官方文档(4)---分区器

热门文章

  1. slf4j,log4j,logback之间的关系
  2. 红帽系统8(RHEL8 )配置静态IP
  3. Sql Sever 如何调出行数
  4. SQL CREATE INDEX (mysql 创建索引)语句
  5. Kotlin使用Canvas画图
  6. 更改销售订单客户 20230421OK
  7. 概率论与数理统计习题——第一讲——样本空间和随机事件
  8. 基于深度学习的图像融合-论文整理【2022版】
  9. 大厂面试辛酸泪,阿里面了9次,字节捞了offer?Android开发狗25次
  10. Web自动化-python+selenium原理简介