Flow API包含四个相互关联的核心接口:发布者、订阅者、订阅和< strong>处理器。语法@FunctionalInterfacepublic static interface Publisher<T&g" />
Java 9 在 java.util.concurrent.Flow 包下引入了响应式流,支持可互操作的发布-订阅< /strong> 框架。它跨越异步边界处理异步数据流(将元素传递到另一个线程或线程池),并且接收方不会被迫缓冲任意数量的数据,因此不会发生缓冲区溢出。
< p style="">Flow API包含四个相互关联的核心接口:发布者、订阅者、订阅和< strong>处理器。@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 。与反应流规范相关的订阅。 发布者接口有subscribe()方法,订阅有cancel()和request()< /strong> 方法,订阅者有 onSubscribe()、onNext()、onError() 和 >onComplete() 方法。 处理器接口实现Flow的所有方法。发布者和Flow.Subscriber 接口。