Java 9 中 Reactive Streams 核心接口是什么?
Java 9 在=java.util.concurrent.Flow 包下引入了 Reactive Streams,支持可互操作的发布订阅框架。它跨异步边界处理异步数据流(将元素传递到另一个线程或线程池),接收方不必缓冲任意数量的数据,因此不会发生缓冲区溢出。
Flow API 包含四个相互关联的核心接口:Publisher、Subscriber、Subscription 和 Processor。
语法
@FunctionalInterface public static interface Publisher<T> { public void subscribe(Subscriber<? super T> subscriber) } public static interface Subscriber<T> { public void onSubscribe(Subscription subscription); public void onNext(T item); public void onError(Throwable throwable); public void onComplete(); } public static interface Subscription { public void request(long n); public void cancel(); } public static interface Processor<T, R> extends Subscriber<T>, Publisher<R> { }
这四个接口:Flow.Publisher、Flow.Processor、Flow.Subscriber 和 Flow. Subscription 与反应流规范相关。Publisher 接口有 subscribe() 方法,Subscription 有 cancel() 和 request() 方法,Subscriber 有 onSubscribe()、onNext()、onError() 和 onComplete() 方法。Processor 接口实现了 Flow. Publisher 和 Flow.Subscriber 接口的所有方法。
广告