函数式编程
tinysakurac
蹒跚学步的猿
展开
-
reactor3快速上手
归纳自刘康的博客响应式spring的道法术器原创 2019-01-11 10:02:46 · 946 阅读 · 0 评论 -
基于RxJava封装的异步聚合计算结果的工具类
实习时被大佬问了一个问题,如何将一个foreach操作分别在不同线程中执行后同步聚集异步操作的结果执行后面的操作以提升响应速度,当时上线问题还有一个没解决所以忙乱中只想出一个通过CountDownLatch(闭锁)的方法,之后仔细想了想至少有三种方法可以解决这个问题。闭锁第一种方式闭锁,不用多说,下面给出伪代码 public static void main(String[] args...原创 2019-02-25 16:58:35 · 604 阅读 · 0 评论 -
RxJava2背压-Flowable
转载自冯丰枫的博客Flowable介绍既然在函数响应式编程中会产生背压(backpressure)问题,那么在函数响应式编程中就应该有解决方案。Rxjava2相对于Rxjava1最大的更新就是把对背压问题的处理逻辑从Observable中抽取出来产生了新的可观察对象Flowable。在Rxjava2中,Flowable可以看做是为了解决背压问题,在Observable的基础上优化后的产物,...转载 2019-02-25 14:42:20 · 1344 阅读 · 0 评论 -
RxJava背压
转载自松哦哦的博客前言Rxjava是通过观察者模式设计的异步任务框架,他的有点在于简洁性,不是代码的简洁性,而是逻辑的简洁性,随着项目的中异步任务逻辑越来越复杂,Rxjava可以一直保持代码逻辑的简洁,不会像handler,ThreadHandler这些在几次线程间切换以后可能都已经晕头转向了.Rxjava提供了多种类的操作符,比如ObserverOn可以为每次业务的处理的处理制定线程,fl...转载 2019-02-25 14:24:07 · 687 阅读 · 0 评论 -
Reactor3背压
概念许多地方也叫做“背压”、“负压”,我在《Reactor参考文档》中是翻译为“背压”的,后来在看到有“回压”的翻译,忽然感觉从文字上似乎更加符合。这一节讨论回压的问题,有两个前提:发布者与订阅者不在同一个线程中,因为在同一个线程中的话,通常使用传统的逻辑就可以,不需要进行回压处理;发布者发出数据的速度高于订阅者处理数据的速度,也就是处于“PUSH”状态下,如果相反,那就是“PUll”状...转载 2019-02-25 14:13:52 · 2962 阅读 · 0 评论 -
RxJava组合操作符
转载自LeiHolmes的博客前言上一篇文章我们学习了过滤类操作符,本篇我们将一起来学习RxJava组合类操作符。组合操作符主要是用来同时处理多个Observable,将他们进行组合创建出新的满足我们需求的Observable,一起来看下都有哪些。组合操作符Mergemerge操作符,将两个Observable要发射的观测序列合并为一个序列进行发射。按照两个序列每个元素的发射时间先后进行...转载 2019-02-25 13:47:23 · 222 阅读 · 0 评论 -
RxJava过滤操作符
转载自LeiHolmes的博客[https://www.jianshu.com/p/66d4dacded9b]前言上一篇文章我们学习了转换类操作符,本篇我们将一起来学习RxJava过滤类操作符。过滤操作符主要是用来对事件数据进行过滤与筛选,只返回满足条件的数据,一起来看下都有哪些。过滤操作符Filterfilter操作符,按照一定的约束条件过滤序列中我们不想要的数据,只返回满足条件的数据...转载 2019-02-25 12:34:55 · 379 阅读 · 0 评论 -
RxJava创建操作符
转载自LeiHolmes的博客[https://www.jianshu.com/p/65bb70007f60]前言通过前两篇文章对于RxJava概念,原理及使用的学习,想必各位码友已经基本掌握RxJava的逻辑与功能了,那么从这篇文章开始我们来研究RxJava的各类操作符。什么是操作符?通过之前的学习,我们发现Observable负责发送事件,Observer负责接收事件,而这个过程中想要对...转载 2019-02-25 11:48:00 · 154 阅读 · 0 评论 -
RxJava转换操作符
转载自LeiHolmes的博客[https://www.jianshu.com/p/d0d08a518cf6]初始化数据还是使用系列第一篇的小区与房源的例子。先初始化假数据以便实践操作符时使用。//小区实体public class Community { private String communityName; //小区名称 private List<House&g...转载 2019-02-25 11:40:46 · 174 阅读 · 0 评论 -
RxJava线程切换操作符
转载自安德雷士的RxJava线程切换——ObserveOn和SubscribeOn的区别RxJava很优势的一个方面就是他的线程切换,基本是依靠ObserveOn和SubscribeOn这两个操作符来完成的。先来看看什么是ObserveOn和SubscribeOn,官方对他们的定义是这样的:ObserveOnspecify the Scheduler on which an observ...转载 2019-02-25 11:28:17 · 363 阅读 · 0 评论 -
RxJava do系列操作符
转载自lluo2010的博客介绍RxJava的观察者类有许多方法,可以转换发出的字节流为任何你需要的数据类型。这些方法是RxJava非常核心的方法,是RxJava具有吸引力的重要缘故。但是有些方法无论如何都不能改变流本身,这些方法称为副作用(Side Effect)方法。Since those methods do not return anything, they cannot be ...转载 2019-02-27 11:05:31 · 677 阅读 · 0 评论