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 次瀏覽

開啟你的 職業發展

透過完成課程獲得認證

開始
廣告