Java 9는 java.util.concurrent.Flow 패키지 아래에 반응 흐름을 도입하여 상호 운용 가능한 publish-subscribe 프레임워크를 지원합니다. 비동기 경계를 넘어 비동기 데이터 스트림을 처리하고(요소를 다른 스레드 또는 스레드 풀로 전달) 수신자는 데이터 양을 버퍼링하도록 강요되지 않으므로 버퍼 오버플로가 발생할 수 없습니다.
Flow API는 Publisher, Subscriber, Subscribe 및 Processor 등 4개의 상호 연관된 핵심 인터페이스로 구성됩니다.<strong>@FunctionalInterface </strong>public static interface <strong>Publisher<T></strong> { public void <strong>subscribe</strong>(<strong>Subscriber</strong><? super T><!--? super T--> subscriber) } public static interface <strong>Subscriber<T></strong> { public void <strong>onSubscribe</strong>(Subscription subscription); public void <strong>onNext</strong>(T item); public void <strong>onError</strong>(Throwable throwable); public void <strong>onComplete</strong>(); } public static interface <strong>Subscription </strong>{ public void <strong>request</strong>(long n); public void <strong>cancel</strong>(); } public static interface <strong>Processor<T, R> </strong>extends <strong>Subscriber<T></strong>, <strong>Publisher<R></strong> { }
네 가지 인터페이스: Flow.Publisher, Flow.Processor, Flow.Subscriber 및 Flow. 반응형 스트림 사양과 관련된 구독입니다. publisher 인터페이스에는 subscribe() 메소드가 있고, subscription에는 cancel() 및 request() 메소드가 있으며, subscriber에는 onSubscribe(), onNext()이 있습니다. , onError( ) 및 >onComplete() 메소드. processor인터페이스는 Flow의 모든 메서드를 구현합니다. 게시자 및 Flow.Subscriber 인터페이스.
위 내용은 Java 9에서 Reactive Streams의 핵심 인터페이스는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!