在Reactor框架中用两个类来表示Publisher,分别是Flux和Mono 。Flux表示0...N个元素序列;Mono表示零或一个元素序列 。
Flux/Mono可以发布三类值 正常数值,异常信号,完成信号 。三类信号不会同时存在,最多同时发布两类信号 。
举个例子,我们假设让Flux发射一个1-6的6个整数的数字流,6个数字流发送完成后,会紧跟着发送一个完成信号,告诉订阅者或者观察者,数据流完成 。同样的,如果发送正常数据的过程中出现异常,也可以发送一个异常信号给订阅者或者观察者,表示出现异常,将停止发送 。异常信号和完成信号不能同时存在,因为出现任何一个该数据流都将结束 。但是信号流里面可以即没有异常信号也没有完成信号,这表示该流是一个无限流 。
Flux.just(1,2,3,4,5,6)
上面这行代码表示发布者发布了6条消息,下面我们订阅者6条消息,也就是对这6条消息进行响应 。
Flux.just(1,2,3,4,5,6).subscribe(System.out::print)
在控制台将会打印出1,2,3,4,5,6 。
推荐阅读
- iPhone手机|“月薪三千能买什么样的手机”上热搜 投票第一竟是苹果?
- 程序员,一个容易被误解的职业
- 商城类网站mssql数据库表结构设计,后台程序员可参考
- 做华为认证工程师有前途吗?待遇怎么样?月薪一般多少钱呢?
- 程序员的核心竞争力
- 程序员的工作,可以干一辈子吗?
- 对前端、后端和全栈感兴趣的人,建议都看看!18年老程序员忠告
- 这些一直霸榜的程序员书你知道是哪几本吗?每本豆瓣评分8.0以上
- 招聘|这3大行业月薪高达万元,待遇好却很“缺人”,没工作的可以试试
- 一个设置让你的电脑网速和程序员的网速一样快