Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा 9 में Publisher-Subscriber का उपयोग करके Flow API कैसे लागू करें

Flow API (java.util.concurrent.Flow) जावा 9 में पेश किया गया है। यह समझने में मदद करता है कि पब्लिशर और सब्सक्राइबर इंटरफेस वांछित संचालन करने के लिए किन विभिन्न तरीकों से इंटरैक्ट करते हैं।

Flow API में Publisher, Subscriber, Subscription, और Processor इंटरफेस होते हैं, जो रिएक्टिव स्ट्रीम विशिष्टता पर आधारित हो सकते हैं।

नीचे दिए गए उदाहरण में, हम Publisher-Subscriber इंटरफेस का उपयोग करके Flow API को लागू कर सकते हैं।

उदाहरण

import java.util.concurrent.Flow.Publisher; 
import java.util.concurrent.Flow.Subscriber; 
import java.util.concurrent.Flow.Subscription; 

public class FlowAPITest { 
    public static void main(String args[]) { 
        Publisher publisherSync = new Publisher() { 
            // Create publisher 
            @Override 
            public void subscribe(Subscriber subscriber) { 
                for(int i = 0; i < 10; i++) { 
                    System.out.println(Thread.currentThread().getName() + " | Publishing = " + i); 
                    subscriber.onNext(i); 
                } 
                subscriber.onComplete(); 
            } 
        }; 
        
        Subscriber subscriberSync = new Subscriber() { 
            // Create subscriber 
            @Override 
            public void onSubscribe(Subscription subscription) { 
            } 
            
            @Override 
            public void onNext(Integer item) { 
                System.out.println(Thread.currentThread().getName() + " | Received = " + item); 
                try { 
                    Thread.sleep(100); 
                } catch(InterruptedException e) { 
                    e.printStackTrace(); 
                } 
            } 
            
            @Override 
            public void onError(Throwable throwable) { 
            } 
            
            @Override 
            public void onComplete() { 
            } 
        }; 
        
        publisherSync.subscribe(subscriberSync); 
    } 
}

आउटपुट

main | Publishing = 0 main | Received = 0 main | Publishing = 1 main | Received = 1 main | Publishing = 2 main | Received = 2 main | Publishing = 3 main | Received = 3 main | Publishing = 4 main | Received = 4 main | Publishing = 5 main | Received = 5 main | Publishing = 6 main | Received = 6 main | Publishing = 7 main | Received = 7 main | Publishing = 8 main | Received = 8 main | Publishing = 9 main | Received = 9
  1. Java में BorderFactory का उपयोग करके विभिन्न बॉर्डर कैसे लागू करें? Java में BorderFactory का उपयोग करके विभिन्न बॉर्डर कैसे लागू करें?

    BorderFactory एक फैक्टरी क्लास है जो Java में विभिन्न प्रकार के बॉर्डर प्रदान करती है। बॉर्डर के प्रकार BevelBorder: यह बॉर्डर उभरे हुए या दबे हुए बेवेल्ड किनारे खींचता है। EmptyBorder: यह कोई ड्राइंग नहीं करता, लेकिन जगह लेता है। EtchedBorder: एक लोअर एच्ड बॉर्डर एक आयत की उपस्थिति देता है और एक

  1. Java में JToggleButton कैसे लागू करें Java में JToggleButton कैसे लागू करें

    JToggleButtonएक JToggleButton AbstractButton का एक्सटेंशन है और इसका उपयोग उन बटनों को दर्शाने के लिए किया जा सकता है जिन्हें ON और OFF किया जा सकता है।जब JToggleButton को पहली बार दबाया जाता है, तो यह दबा हुआ रहता है और इसे केवल दूसरी बार दबाने पर रिलीज़ किया जा सकता है।एक JToggleButton हर बार दबाए

  1. Java में JWindow का उपयोग करके स्प्लैश स्क्रीन कैसे लागू करें? Java में JWindow का उपयोग करके स्प्लैश स्क्रीन कैसे लागू करें?

    एक JWindow एक कंटेनर है जिसे यूज़र के डेस्कटॉप पर कहीं भी प्रदर्शित किया जा सकता है। इसमें JFrame की तरह टाइटल बार, विंडो मैनेजमेंट बटन्स आदि नहीं होते। JWindow में एकमात्र चाइल्ड क्लास के रूप में JRootPane होता है। contentPane JWindow के किसी भी बच्चे का पैरेंट हो सकता है। JFrame की तरह, एक JWindo