Maison > Java > javaDidacticiel > Quelles sont les règles de l'interface d'abonnement dans Java 9 ?

Quelles sont les règles de l'interface d'abonnement dans Java 9 ?

PHPz
Libérer: 2023-08-31 08:09:08
avant
1199 Les gens l'ont consulté

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

Un abonnement peut être partagé par un éditeur et un abonné dans le but de servir de médiateur dans l'échange de données. C'est pourquoi la méthode subscribe() ne renvoie pas l'abonnement créé mais renvoie plutôt void. Les abonnements ne sont transmis aux abonnés que via le rappel de la méthode onSubscribe(). L'interface d'abonnement contient deux méthodes : request() et cancel().

Syntaxe

<strong>public interface Subscription {
   public void request(long n);
   public void cancel();
}</strong>
Copier après la connexion

Règles de l'interface d'abonnement :

  • Subscription.request() et Subscription.cancel() ne peuvent être appelées que dans leur contexte d'abonné.
  • Les abonnements doivent permettre aux abonnés d'appeler la méthode Subscription.request() onNext() ou la méthode onSubscribe() de manière synchrone depuis l'intérieur. La méthode
  • Subscription.request() doit fixer une limite supérieure aux récursions synchrones possibles entre éditeurs et abonnés.
  • Subscription.request()Les méthodes doivent respecter la réactivité de leurs appelants en retournant
  • Subscription.cancel()Les méthodes doivent respecter la réactivité de leurs appelants en revenant dans les délais et doivent être thread-safe strong> .
  • Tant que l'abonnement n'est pas annulé, la méthode Subscription.request(long n) doit enregistrer un nombre donné d'éléments supplémentaires à générer pour l'abonné correspondant.
  • Bien que l'abonnement ne soit pas annulé, la méthode Subscription.request(long n) doit appeler la méthode onError() et lancer IllegalArgumentException si le paramètre est
  • Lorsque l'abonnement n'est pas annulé, la méthode Subscription.request(long n) peut appeler la méthode onNext() de manière synchrone sur cet abonné ou sur d'autres abonnés.
  • Lorsque l'abonnement n'est pas annulé, la méthode Subscription.request(long n) peut appeler la méthode onComplete() ou onError() de manière synchrone.
  • Tant que l'abonnement n'est pas annulé, la méthode Subscription.cancel() doit demander à l'éditeur d'arrêter de signaler à ses abonnés. Cette opération n'affecte pas immédiatement l'abonnement.
  • Tant que l'abonnement n'est pas annulé, la méthode Subscription.cancel() doit demander à l'éditeur de supprimer toute référence à l'abonnement correspondant.
  • L'appel des méthodes Subscription.cancel() et Subscription.request() doit retourner normalement.
  • > Les abonnements doivent prendre en charge un nombre illimité d'appels de demande et prendre en charge un maximum de 2^63-1 exigences. Si la demande est égale ou supérieure à 2^63-1, l'éditeur peut considérer valideillimité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal