聊聊reactive streams的tranform操作

2018-01-18
阅读 8 分钟
3.3k
序 本文主要展示一下reactive streams的一些transform操作 mergeWith {代码...} 输出实例 {代码...} 可以发现,他们是交叉合并的。 concatWith {代码...} 输出 {代码...} 可以发现concatWith只是连接两个flux的数据,并不是按emit的顺序交叉来 zipWith {代码...} 输出如下 {代码...} 可以发现flux1相比flux2多余的数据没...

聊聊reactive streams的processors

2018-01-17
阅读 18 分钟
5.6k
processors既是Publisher也是Subscriber。在project reactor中processor有诸多实现,他们的分类大致如下:

聊聊reactive streams的parallel flux

2018-01-16
阅读 2 分钟
6.3k
序 本文主要研究下reactive streams的flux的parallel运行方式. 目的 在一些涉及IO操作,比如读取文件,访问数据库等,通常建议使用异步线程以parallel模式运行,以提升性能。 实例 {代码...} 部分输出 {代码...} 小结 parallel来指定线程池线程个数 runOn启动parallel flux sequential将异步线程池执行结果汇集成一个str...

聊聊reactive streams的schedulers

2018-01-15
阅读 11 分钟
4.5k
序 本文主要研究一下reactive streams的schedulers 背景 默认情况下Mono以及Flux都在主线程上运行,有时候可能会阻塞主线程,可以通过设定schedulers让其在其他线程运行。 原始输出 没有使用publishOn及subscribeOn时输出如下 {代码...} publishOn(给subscriber配置线程) {代码...} 输出 {代码...} 可以发现,配置publis...

聊聊reactive streams的backpressure

2018-01-14
阅读 10 分钟
2.7k
传统的list streams不是异步的,好比如一批500件的半成品,得在A环节都处理完,才能下一个环节B,而reactive streams之所以成为reactive,就好比如这批500件的半成品,A环节每处理完一件就可以立即推往下个环节B处理,源源不断,而不是等所有的半成品都在A环节处理再推往B环节。典型的活生生的一个生产流水线的例子。

聊聊reactive streams publisher的doOn方法

2018-01-13
阅读 9 分钟
5.8k
这里以Flux为例reactor-core-3.1.2.RELEASE-sources.jar!/reactor/core/publisher/Flux.java

聊聊reactive streams的Mono及Flux

2018-01-12
阅读 8 分钟
13.1k
reactive-streams-1.0.1-sources.jar!/org/reactivestreams/Publisher.java

reactive streams与观察者模式

2018-01-11
阅读 3 分钟
3.4k
java里头的iterator是以pull模型,即订阅者使用next去拉取下一个数据;而reactive streams则是以push模型为主,订阅者调用subscribe方法订阅,发布者调用订阅者的onNext通知订阅者新消息。