Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9에서 Reactive Streams의 핵심 인터페이스는 무엇입니까?


Java 9는 반응형 스트림을 도입했습니다. java.util.concurrent.Flow 아래 상호 운용 가능한 게시-구독을 지원하는 패키지 뼈대. 비동기 경계를 넘어 비동기 데이터 스트림을 처리하고(요소를 다른 스레드 또는 스레드 풀로 전달) 수신 측이 임의의 양의 데이터를 버퍼링하도록 강제되지 않으므로 버퍼 오버플로가 발생할 수 없습니다.

흐름 API 4개의 상호 관련된 핵심 인터페이스를 포함합니다. 게시자 , 구독자 , 구독프로세서 .

구문

@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> {
}

다음 4가지 인터페이스:Flow.Publisher , Flow.Processo r, Flow.Subscriber, 그리고흐름. 구독 반응 스트림 사양과 관련이 있습니다. 게시자 인터페이스에 subscribe()가 있습니다. 방법, 구독 취소() 있음 및 요청() 방법 및 구독자 onSubscribe() 있음 , onNext() , onError()onComplete() 행동 양식. 프로세서 인터페이스는 Flow의 모든 메소드를 구현합니다. 게시자Flow.Subscriber 인터페이스.