Reactor 响应式编程简述 02

Reactor 响应式编程简述 02

概述

有了 Reactive Streams 这种标准和规范,利用规范可以进行响应式编程。那再了解下什么是Reactive programming 响应式编程。响应式编程是基于异步和事件驱动的非阻塞程序,只是垂直通过在JVM内启动少量线程扩展,而不是水平通过集群扩展。这就是一个编程范例,具体项目中如何体现呢?
响应式项目编程实战中,通过基于 Reactive Streams 规范实现的框架 Reactor 一般是提供两种响应式API:

  • Mono: 实现发布者,并返回 0 或 1 个元素
  • Flux: 实现发布者,并返回 N 个元素

一、Reactor 的核心类

常用的主要有以下几个:

  1. Mono
    Mono 这个词本身有”单声道“ 的意思。
    Mono 实现了 org.reactivestreams.Publisher 接口,所以是有着“发布者”的功能。代表 0 到 1 个元素的 发布者。

  2. Flux
    Flux 有“不断变化、波动”的意思。
    Flux 同样实现了 org.reactivestreams.Publisher,所以也是有着“发布者”的功能 接口。Flux 代表 0 到 N 个元素的发布者。

  3. Scheduler
    代表背后驱动反应式流的调度器,通常由各种线程池实现。

二、函数编程接口说明

序号 接口函数名 说明
1 BiConsumer 表示接收两个输入参数和不返回结果的操作。
2 BiFunction 表示接受两个参数,并产生一个结果的函数。
3 BinaryOperator 表示在相同类型的两个操作数的操作,生产相同类型的操作数的结果。
4 BiPredicate 代表两个参数谓词(布尔值函数)。
5 BooleanSupplier 代表布尔值结果的提供者。
6 Consumer 表示接受一个输入参数和不返回结果的操作。
7 DoubleBinaryOperator 代表在两个double值操作数的运算,并产生一个double值结果。
8 DoubleConsumer 表示接受一个double值参数,不返回结果的操作。
9 DoubleFunction 表示接受double值参数,并产生一个结果的函数。
10 DoublePredicate 代表一个double值参数谓词(布尔值函数)。
11 DoubleSupplier 表示表示接受double值参数,并产生一个结果的函数。值结果的提供者。
12 DoubleToIntFunction 表示接受一个double值参数,不返回结果的操作。
13 DoubleFunction 表示接受double值参数,并产生一个结果的函数。
14 DoublePredicate 代表一个double值参数谓词(布尔值函数)。
15 DoubleSupplier DoubleToIntFunction
16 DoubleToIntFunction 表示接受double值参数,并产生一个int值结果的函数。
17 DoubleToLongFunction 表示上产生一个double值结果的单个double值操作数的操作。
18 Function 代表接受一个double值参数,并产生一个long值结果的函数。
19 DoubleUnaryOperator 表示上产生一个double值结果的单个double值操作数的操作。
20 Function 表示接受一个参数,并产生一个结果的函数。
21 IntConsumer 表示接受单个int值的参数并没有返回结果的操作。
22 IntFunction 表示接受一个int值参数,并产生一个结果的函数。
23 IntPredicate 表示一个整数值参数谓词(布尔值函数)。
24 IntSupplier 代表整型值的结果的提供者。
25 IntToLongFunction 表示接受一个int值参数,并产生一个long值结果的函数。
26 IntUnaryOperator 表示产生一个int值结果的单个int值操作数的运算。
27 LongBinaryOperator 表示在两个long值操作数的操作,并产生一个ObjLongConsumer值结果。
28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

征客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值