Heim  >  Artikel  >  Java  >  Welche Regeln gelten für die Abonnementschnittstelle in Java 9?

Welche Regeln gelten für die Abonnementschnittstelle in Java 9?

PHPz
PHPznach vorne
2023-08-31 08:09:081129Durchsuche

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

Ein Abonnement kann von einem Herausgeber und einem Abonnenten gemeinsam genutzt werden, um den Austausch von Daten zu vermitteln. Aus diesem Grund gibt die Methode subscribe() nicht das erstellte Abonnement zurück, sondern void. Abonnements werden nur über den Methodenrückruf onSubscribe() an Abonnenten weitergegeben. Die Abonnementschnittstelle enthält zwei Methoden: request() und cancel().

Syntax

<strong>public interface Subscription {
   public void request(long n);
   public void cancel();
}</strong>

Subscription-Schnittstellenregeln: Die Methoden

  • Subscription.request() und Subscription.cancel() können nur innerhalb ihres Abonnentenkontexts aufgerufen werden.
  • Abonnements müssen es Abonnenten ermöglichen, die Subscription.request()-Methode onNext() oder die onSubscribe()-Methode synchron von innen aufzurufen. Die Methode
  • Subscription.request() muss eine Obergrenze für mögliche synchrone Rekursionen zwischen publishers und subscribers festlegen.
  • Subscription.request()Methoden müssen die Reaktionsfähigkeit ihrer Anrufer respektieren, indem sie
  • Subscription.cancel()Methoden müssen die Reaktionsfähigkeit ihrer Anrufer respektieren, indem sie rechtzeitig zurücksenden, und müssen thread-sicher strong> sein .
  • Obwohl das Abonnement nicht gekündigt wird, muss die Methode Subscription.request(long n) eine bestimmte Anzahl zusätzlicher Elemente registrieren, die für den entsprechenden Abonnenten generiert werden sollen.
  • Obwohl das Abonnement nicht gekündigt wird, muss die Methode Subscription.request(long n) die Methode onError() aufrufen und IllegalArgumentException auslösen, wenn der Parameter
  • Wenn das Abonnement nicht gekündigt wird, kann die Methode Subscription.request(long n) die Methode onNext() synchron für diesen Abonnenten oder andere Abonnenten aufrufen.
  • Wenn das Abonnement nicht gekündigt wird, kann die Methode Subscription.request(long n) die Methode onComplete() oder onError() synchron aufrufen.
  • Obwohl das Abonnement nicht gekündigt wird, muss die Methode Subscription.cancel() den Herausgeber auffordern, die Signalisierung an seine Abonnenten einzustellen. Dieser Vorgang hat keine unmittelbaren Auswirkungen auf das Abonnement.
  • Obwohl das Abonnement nicht gekündigt wird, muss die Methode Subscription.cancel() den Herausgeber auffordern, alle Verweise auf das entsprechende Abonnement zu löschen.
  • Der Aufruf der Methoden Subscription.cancel() und Subscription.request() muss normal zurückkehren.
  • > Abonnements müssen eine unbegrenzte Anzahl von Anforderungsanrufen unterstützen und maximal 2^63-1 Anforderungen unterstützen. Wenn die Nachfrage gleich oder größer als 2^63-1 ist, kann der Herausgeber es als gültigunbegrenzt betrachten.

Das obige ist der detaillierte Inhalt vonWelche Regeln gelten für die Abonnementschnittstelle in Java 9?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen