Reactor3 Core 发布 订阅

1 Reactor3

1.1 Terms Involved

  1. Publisher(发布者)、Subscriber(订阅者)、Subscription(订阅 n.)、subscribe(订阅 v.)。
  2. event/signal(事件/信号)。
  3. sequence/stream(序列/流)。
  4. element/item(序列中的元素)。
  5. emit/produce/generate(发出/产生/生成,后两个多翻译为“生成”)、consume(消费)。
  6. Processor(未做翻译,保留英文)。
  7. operator(操作符,声明式的可组装的响应式方法,其组装成的链译作“操作链”)。

1.2 Interface

  1. Publisher(发布者)
  2. Subscriber(订阅者)
  3. Subscription(订阅关系)
  4. Processor(Publisher和Subscriber的合体)

1.3 Code Analyze

Remember:
Nothing Happens Until You Subscribe

1.3.1 Code
<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Reactor是一个基于响应式编程模型的Java库,它提供了一些用于构建响应式应用程序的工具。其中一个重要的组件是`Mono`,它表示一个异步执行的单个结果。以下是一个使用`Mono`的简单示例: ```java import reactor.core.publisher.Mono; public class MonoExample { public static void main(String[] args) { Mono.just("Hello World") // 创建一个包含单个字符串的Mono .subscribe(System.out::println); // 订阅Mono并在结果可用时打印它 } } ``` 在上面的代码中,我们使用`Mono.just`方法创建了一个包含单个字符串的`Mono`,然后使用`subscribe`方法来订阅它并在结果可用时打印它。 `Mono`还提供了许多其他方法,可以用于创建、转换和组合`Mono`。例如,您可以使用`map`方法将`Mono`中的结果转换为另一种类型,或使用`zipWith`方法将两个`Mono`的结果组合在一起。以下是一个使用`map`和`zipWith`的示例: ```java Mono<String> mono1 = Mono.just("Hello"); Mono<String> mono2 = Mono.just("World"); Mono<String> result = mono1 .map(s -> s + " Mono") .zipWith(mono2.map(s -> s + " Mono")) .map(tuple -> tuple.getT1() + " " + tuple.getT2()); result.subscribe(System.out::println); // 输出 "Hello Mono World Mono" ``` 在上面的代码中,我们首先使用`map`方法将`mono1`中的字符串转换为"Hello Mono",然后使用`zipWith`方法将其与另一个`Mono`中的字符串组合在一起,并使用`map`方法将结果字符串连接起来。最后,我们订阅了`result`并打印了它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值