Rxjava2笔记

2018-01-13  本文已影响0人  成虫_62d0

Rxjava

Rxjava

几个概念

1.数据流(data-stream):数据(events/objects/items)按照一定的顺序流动。
2.非阻塞:工作线程不需要等待锁才能开始工作。也就是说线程之间没有同步的问题。
3.背压:
4.发布和订阅的原理机制:

image.png

热发布者和冷发布者

取消订阅

当订阅者订阅一个发布者的时候,会返回一个Disposable对象,然后可调用Disposable::dispose()方法取消订阅。

Schedulers

背压

当发布者发射速率大于订阅者的处理能力的时候,那么这些会溢出的待发射数据就需要发布者处理。

订阅者发一个信号给发布者告诉它自己能处理多少数据,这样发布者就刚好制造那么多数据。背压就是与这样的机制关联的。

处理背压的方式有多种,例如buffering,batching,skipping。还有操作符可以处理背压。

Operators

2.x

why

除非你的系统可以同步同步建模,不然的话一个异步源就会不可避免的打破这种编程方式。
android app与生俱来就是需要快速响应的环境。以前每一个状态都需要程序员来管理
响应式编程和Rxjava允许我们只关心数据流向,而不必关心每个数据的状态(例如异步的)。
我们需要做的就是利用响应式编程来处理异步的数据源。而不是自己试图管理所有的状态,把这些异步数据源组合在一起。

rxjava2.png

如果该篇文章有任何问题,希望您能在百忙之中指出并联系我nanhuaqq@gmail.com

上一篇 下一篇

猜你喜欢

热点阅读