# Summary
# Cues
# Notes
## 1. Java 9 (2017年) - Flow API
```java
// Java 9 引入了 Flow API,这是第一个内置背压控制
public interface Flow.Publisher<T> {
void subscribe(Flow.Subscriber<? super T> subscriber);
}
public interface Flow.Subscriber<T> {
void onSubscribe(Flow.Subscription subscription);
void onNext(T item);
void onError(Throwable throwable);
void onComplete();
}
public interface Flow.Subscription {
void request(long n); // 请求 n 个元素 - 这就是背压控制!
void cancel();
}
```
关键特性:
- $request(n)$ 方法:消费者告诉生产者"我需要n个元素"
- 生产者只有在收到请求后才发送数据
- 这是拉取模式的背压控制