> Java > java지도 시간 > 본문

Java 9의 구독 인터페이스 규칙은 무엇입니까?

PHPz
풀어 주다: 2023-08-31 08:09:08
앞으로
1153명이 탐색했습니다.

Java 9中的Subscription接口有哪些规则?

A subscriptiondata의 교환을 중재할 목적으로 게시자와 구독자가 공유할 수 있습니다. 그렇기 때문에 subscribe() 메서드는 생성된 구독을 반환하지 않고 대신 void를 반환합니다. 구독은 onSubscribe() 메소드 콜백을 통해서만 구독자에게 전달됩니다. 구독 인터페이스에는 request()cancel()이라는 두 가지 메서드가 포함되어 있습니다.

Syntax

<strong>public interface Subscription {
   public void request(long n);
   public void cancel();
}</strong>
로그인 후 복사

구독 인터페이스 규칙:

  • Subscription.request()Subscription.cancel() 메소드는 구독자 컨텍스트 내에서만 호출할 수 있습니다.
  • 구독은 구독자가 Subscription.request() 메서드 onNext() 또는 onSubscribe() 메서드를 내부에서 동기적으로 호출할 수 있도록 허용해야 합니다.
  • Subscription.request() 메서드는 publisherssubscribers 간의 가능한 동기 재귀에 대한 상한을 설정해야 합니다.
  • Subscription.request()메소드는
  • Subscription.cancel()을 반환하여 호출자의 응답을 존중해야 하며 적시에 반환하여 호출자의 응답을 존중해야 하며 스레드로부터 안전해야 합니다 strong> .
  • 구독이 취소되지 않는 동안 Subscription.request(long n) 메소드는 해당 구독자에 대해 생성될 추가 요소를 지정된 수만큼 등록해야 합니다.
  • 구독이 취소되지 않더라도 Subscription.request(long n) 메소드는 onError() 메소드를 호출하고 매개변수가 IllegalArgumentException 을 발생시켜야 합니다.
  • 구독이 취소되지 않은 경우 Subscription.request(long n) 메서드는 이 구독자 또는 다른 구독자에 대해 onNext() 메서드를 동기적으로 호출할 수 있습니다.
  • 구독이 취소되지 않은 경우 Subscription.request(long n) 메서드는 onComplete() 또는 onError() 메서드를 동기적으로 호출할 수 있습니다.
  • 구독이 취소되지 않은 동안 Subscription.cancel() 메소드는 게시자에게 구독자에 대한 신호 전달을 중지하도록 요청해야 합니다. 이 작업은 구독에 즉시 영향을 미치지 않습니다.
  • 구독이 취소되지 않은 동안 Subscription.cancel() 메소드는 게시자에게 해당 구독에 대한 모든 참조를 삭제하도록 요청해야 합니다.
  • Subscription.cancel()Subscription.request() 메서드를 호출하면 정상적으로 반환되어야 합니다.
  • > 구독 은 요청 통화 수를 무제한으로 지원해야 하며 최대 2^63-1 요구 사항을 지원해야 합니다. 수요가 2^63-1보다 크거나 같으면 게시자는 유효무제한을 고려할 수 있습니다.

위 내용은 Java 9의 구독 인터페이스 규칙은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!