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

Java 9에서 Flow API를 실행하는 단계는 무엇입니까?


흐름 API Java 9에서는 반응 스트림 에 해당합니다. 사실상의 표준인 사양. 여기에는 비동기 발행 및 구독의 핵심을 포착하는 최소한의 인터페이스 세트가 포함되어 있습니다.

아래는 Flow API의 주요 인터페이스입니다. :

1) 흐름 게시자: 구독자가 소비할 항목을 생성하며 subscribe(Subscriber) 메서드만 포함합니다. , 목적이 분명해야 합니다.

구문

void subscribe(Flow.Subscriber<? super T> subscriber)

2) 흐름 구독자: onNext(T) 메서드를 통해 항목을 받기 위해 게시자(보통 하나만)를 구독합니다. ), 오류 메시지(onError(Throwable) ) 또는 더 이상 항목이 필요하지 않다는 신호(onComplete() ). 이러한 일이 발생하기 전에 게시자는 onSubscription(Subscription) 을 호출합니다. 방법.

구문

void onSubscribe(Flow.Subscription subscription)
void onNext(T item)
void onError(Throwable throwable)
void onComplete()

3) 흐름 구독: 단일 게시자 간의 연결 및 단일 구독자 . 구독자는 이를 사용하여 더 많은 항목을 요청할 수 있습니다(request(long) ) 또는 연결 끊기(cancel() ).

구문

void request(long n)
void cancel()

Flow API 실행 단계:


  • 먼저 게시자 를 만들어야 합니다. 및 구독자 .
  • 게시자::구독으로 구독자를 구독합니다. .
  • 게시자 구독 생성 Subscriber::onSubscription 호출 구독자가 구독을 저장할 수 있도록 합니다.
  • 어떤 시점에서 구독자는 Subscription::을 호출합니다. 요청 여러 항목을 요청합니다.
  • 게시자는 Subscriber::onNext를 호출하여 구독자에게 항목을 전달하기 시작합니다. . 요청한 항목 수를 초과하여 게시하지 않습니다.
  • 게시자가 문제에 직면하여 Subscriber::onComplete 를 호출할 수 있습니다. 또는 구독자::onError , 각각.
  • 구독자는 계속해서 때때로 더 많은 항목을 요청하거나 구독::취소를 호출하여 연결을 끊을 수 있습니다. .