在介绍RxJava前,我们先聊聊响应式编程。那么什么是响应式编程呢?响应式编程是一种基于异步数据流概念的编程模式。
数据流就像一条河:它可以被观测,被过滤,被操作,或者为新的消费者与另外一条流合并为一条新的流。
响应式编程的一个关键概念是事件。事件可以被等待,可以触发过程,也可以触发其它事件、
RxJava本质上是一个异步操作库,是一个能让你用极其简洁的逻辑去处理繁琐复杂任务的异步事件库。
RX 是一个使用可观察序列,来编写异步和基于事件的程序的库。它扩展了观察者模式以支持数据和/或事件序列,并添加允许您以声明方式将序列组合在一起的运算符,同时抽象出对诸如低级线程、同步、线程安全、并发数据结构和非 阻塞 I/O。
Hyxtrix 底层为什么要用RX
因为简洁、易用
rx流程
通过Observables创建事件流或数据流
通过操作符变换(转换、过滤、融合、聚合、条件、数学操作)数据流;
通过订阅执行(一种是在创建时就订阅,来一个处理一个,一种是先创建,发送数据,等最后一次订阅执行)
在RxJava中,一个实现了Observer接口的对象可以订阅 (subscribe) 一个Observable实例。订阅者(subscriber) 对 Observable 发出 (emit) 的任何数据或数据序列作出响应。这种模式简化了并发操作,因为它不需要阻塞等待Observable 发出的数据,而是创建了一个处于监听状态的观察者哨兵,哨兵在未来某个时刻响应Observable的通知。
在Rxjava中的事件