当前位置:嗨网首页>书籍在线阅读

35-在反应式流上反应式编程

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

6.10 在反应式流上反应式编程

反应式流 定义了一种机制,这种机制提供了非阻塞背压的异步流处理方式。

反应式流基于如下3个元素:

  • 信息发布者;
  • 一个或多个信息的订阅者;
  • 发布者和消费者之间的一次订阅。

反应式流的规范确定了这些类之间是如何交互的,并遵循如下规则:

  • 发布者添加希望通知的订阅者;
  • 订阅者被添加到发布者时将接收一个通知;
  • 订阅者以异步方式向发布者请求一个或多个元素。也就是说,订阅者请求元素时,不会被阻塞而是继续执行;
  • 当发布者有元素要发布时,它会将其发送给所有请求了元素的订阅者。

正如我们前面所提到的,由于所有交互都是异步的,因此可以充分利用计算机的多核处理器。

Java 9引入了3个接口(即 Flow.PublisherFlow.SubscriberFlow.Subscription ),以及一个实用类( SubmissionPublisher ),它们使得我们可以实现反应式流的应用程序。在本节里,你将学习如何使用这些元素实现一个基本的反应式流应用程序。