在 Java 9 中执行 Flow API 的步骤是什么?
javaobject oriented programmingprogramming更新于 2025/10/13 6:36:17
Java 9 中的 Flow API 对应于 Reactive Streams 规范,这是一个事实上的标准。它包含一组最小的接口,可以捕获异步发布和订阅的核心。
以下是 Flow API 的关键接口:
1) Flow.Publisher:它生成项目供订阅者使用,并且它仅包含方法:subscribe(Subscriber),其目的显而易见。
语法
void subscribe(Flow.Subscriber<? super T>subscriber)
2) Flow.Subscriber:它订阅发布者(通常只有一个)以接收项目(通过方法 onNext(T)),错误消息(onError(Throwable))或表示不再需要任何项目的信号(onComplete())。在这些事情发生之前,发布者会调用 onSubscription(Subscription) 方法。
语法
void onSubscribe(Flow.Subscription subscription) void onNext(T item) void onError(Throwable throwable) void onComplete()
3) Flow.Subscription:单个发布者和单个订阅者之间的连接。订阅者可以使用它来请求更多项目(request(long))或断开连接(cancel())。
语法
void request(long n) void cancel()
Flow API 的执行步骤:
- 首先,我们需要创建一个 Publisher 和一个 Subscriber。
- 使用 Publisher:: subscribe 订阅订阅者。
- publisher 创建一个 Subscription 并使用它调用 Subscriber::onSubscription,因此订阅者可以存储订阅。
- 在某个时候,订阅者调用 Subscription:: request 来请求多个项目。
- 发布者通过调用 Subscriber::onNext 开始将项目交给订阅者。它发布的项目数量绝不会超过请求的数量。
- 发布者可能在某个时候遇到麻烦,并分别调用 Subscriber::onComplete 或 Subscriber::onError。
- 订阅者可能会继续不时请求更多项目,或者通过调用 Subscription:: cancel 切断连接。
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

