Java 9 中 Reactive Streams 核心介面是什麼?
Java 9 在="strong>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 介面的所有方法。
廣告