作者:禅与计算机程序设计艺术
1.背景介绍
1.1 RxJava简介
RxJava (Reactive Extensions) 是 ReactiveX (Reactive Extensions) 的 Java 版本实现。它提供了很多类似于 LINQ 的高阶函数和操作符,可用于处理异步数据流、事件流和基于回调的编程模式。虽然它的名字叫做 RxJava ,但是实际上,它不是一个独立的项目,而是由微软在.Net 框架中实现并开源发布的一组扩展库,包括 C#、F# 和 Visual Basic 。在 2016 年的时候, Google 提供了 Kotlin 语言对 RxJava 的支持,所以 RxJava 在 Android 开发中越来越受欢迎。
1.2 为什么要学习 RxJava?
异步编程模型
传统的编程模型都是顺序执行,无论是单线程还是多线程,从编写到调试都需要耗费大量的时间。对于异步编程来说,通常采用的是非阻塞 IO 模型(NIO&#x