Maison> Java> javaDidacticiel> le corps du texte

Comment implémenter l'interface Flow.Publisher dans Java 9 ?

王林
Libérer: 2023-08-30 17:57:06
avant
836 Les gens l'ont consulté

如何在Java 9中实现Flow.Publisher接口?

Une interfacePublisherest un fournisseur qui fournit un nombre illimité d'éléments commandés à publier en fonction de la demande reçue de son(ses)Abonné(s). Séquence d'appel possible de méthodes surPublisher.subscribe(Subscriber), en réponse à l'appel deSubscriber. Cela signifie la méthodeonSubscribe(), suivie d'un nombre illimité de méthodesonNext()(comme requis par leSubscriber), puis soit la méthodeonError()(en cas d'échec), soit la méthodeonError()(en cas d'échec) MéthodeonComplete()(quand plus aucun élément n'est disponible, tant que

Subscription

n'a pas été annulé).

Syntaxe

public interface Publisher { public void subscribe(Subscriber s); }
Copier après la connexion

Exemple

import java.util.concurrent.*; import java.util.*; import java.util.stream.*; class SimplePublisher implements Flow.Publisher { private final Iterator iterator; SimplePublisher(int count) { this.iterator = IntStream.rangeClosed(1, count).iterator(); } @Override public void subscribe(Flow.Subscriber subscriber) { iterator.forEachRemaining(subscriber::onNext); subscriber.onComplete(); } } public class SimplePublisherImplTest { public static void main(String args[]) { new SimplePublisher(10).subscribe(new Flow.Subscriber<>() { @Override public void onSubscribe(Flow.Subscription subscription) { } @Override public void onNext(Integer item) { System.out.println("item = [" + item + "]"); } @Override public void onError(Throwable throwable) { } @Override public void onComplete() { System.out.println("complete"); } }); } }
Copier après la connexion

Sortie
item = [1] item = [2] item = [3] item = [4] item = [5] item = [6] item = [7] item = [8] item = [9] item = [10] complete
Copier après la connexion

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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!