深入探究 Java Flow API
在 Java 9 中引入了 java.util.concurrent.Flow
API,它基于推送和订阅框架,为响应式流编程提供了支持。在开始实际开发之前,我们需要了解该系统的基本构建块。
基本构建块
Flow API 有四个主要组件,它们构成了系统的核心:
- Publisher
- Subscriber
- Processor
- Subscription
下面我们来详细了解每个组件。
Publisher
从名称可以看出,Publisher 负责生产和发送数据或项。它是一个函数式接口,其定义如下:
@FunctionalInterface
public static interface Flow.Publisher<T> {
public void subscribe(Flow.Subscriber<? super T> subscriber);
}
Publisher 有一个 subscribe()
方法,该方法接受一个 Subscriber 对象作为输入。开发者若要创建自己的 Publisher,需要重写 subscribe()
方法。
例如,我们想开发一个能发送 Long
类型数字的 Publisher。对于这个简单任务,我们可能会想是否有更简单的方法。幸运的是,Ja