Java 9 中 Reactive Streams 核心接口是什么?


Java 9 在=java.util.concurrent.Flow 包下引入了 Reactive Streams,支持可互操作的发布订阅框架。它跨异步边界处理异步数据流(将元素传递到另一个线程或线程池),接收方不必缓冲任意数量的数据,因此不会发生缓冲区溢出。

Flow API 包含四个相互关联的核心接口:PublisherSubscriberSubscriptionProcessor

语法

@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.PublisherFlow.Processor、Flow.Subscriber  Flow. Subscription 与反应流规范相关。Publisher 接口有 subscribe() 方法,Subscription  cancel()request() 方法,Subscriber  onSubscribe()onNext()onError()onComplete() 方法。Processor 接口实现了 Flow. PublisherFlow.Subscriber 接口的所有方法。

更新于:2020 年 3 月 9 日

580 次浏览

开启你的 职业发展

通过完成课程获得认证

开始
广告