Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

อินเทอร์เฟซหลักของ Reactive Streams ใน Java 9 คืออะไร


Java 9 ได้แนะนำ รีแอกทีฟสตรีม ภายใต้ java.util.concurrent.Flow แพ็คเกจที่รองรับ เผยแพร่-สมัครสมาชิก . ที่ทำงานร่วมกันได้ กรอบ. มันประมวลผลสตรีมข้อมูลแบบอะซิงโครนัสข้ามขอบเขตแบบอะซิงโครนัส (ส่งองค์ประกอบไปยังเธรดอื่นหรือเธรดพูล) และฝ่ายรับจะไม่ถูกบังคับให้บัฟเฟอร์ปริมาณข้อมูลตามอำเภอใจ ดังนั้นบัฟเฟอร์โอเวอร์โฟลว์จะไม่เกิดขึ้น

โฟลว์ API มีอินเทอร์เฟซหลักสี่ส่วนที่เกี่ยวข้องกัน:ผู้เผยแพร่ , สมาชิก , สมัครสมาชิก และ โปรเซสเซอร์ .

ไวยากรณ์

@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.Processo r, Flow.Subscriber, และไหล สมัครสมาชิก ที่เกี่ยวข้องกับข้อกำหนดรีแอกทีฟสตรีม ผู้เผยแพร่ อินเทอร์เฟซมี subscribe() วิธีการ สมัครสมาชิก มี ยกเลิก() และ request() วิธีการและ สมาชิก มี onSubscribe() , onNext() , onError() และ onComplete() วิธีการ โปรเซสเซอร์ อินเทอร์เฟซใช้วิธีการทั้งหมดของ Flow สำนักพิมพ์ และ Flow.Subscriber อินเทอร์เฟซ