"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावा में रिएक्टिव स्ट्रीम और फ्लो एपीआई

जावा में रिएक्टिव स्ट्रीम और फ्लो एपीआई

2024-08-06 को प्रकाशित
ब्राउज़ करें:977

Reactive Streams and the Flow API in Java

रिएक्टिव प्रोग्रामिंग एक प्रतिमान है जो अतुल्यकालिक डेटा स्ट्रीम और परिवर्तन के प्रसार से संबंधित है। जावा 9 में पेश किया गया फ्लो एपीआई, जावा में प्रतिक्रियाशील धाराओं को परिभाषित करने और उनके साथ काम करने के लिए एक मानक एपीआई प्रदान करता है। फ़्लो एपीआई का उपयोग करने का तरीका समझने से आपको स्केलेबल, प्रतिक्रियाशील और लचीले एप्लिकेशन बनाने में मदद मिल सकती है।

फ़्लो एपीआई क्या है?

फ्लो एपीआई java.util.concurrent पैकेज का हिस्सा है और जावा में प्रतिक्रियाशील स्ट्रीम बनाने के लिए इंटरफेस प्रदान करता है। मुख्य इंटरफ़ेस प्रकाशक, सब्सक्राइबर, सदस्यता और प्रोसेसर हैं।

फ़्लो एपीआई के प्रमुख घटक

  1. प्रकाशक: ग्राहकों के उपभोग के लिए आइटम तैयार करता है।
  2. ग्राहक: प्रकाशक द्वारा उत्पादित वस्तुओं का उपभोग करता है।
  3. सदस्यता: एक प्रकाशक और एक ग्राहक के बीच एक लिंक का प्रतिनिधित्व करता है, जो ग्राहक को डेटा के प्रवाह को नियंत्रित करने की अनुमति देता है।
  4. प्रोसेसर: एक ग्राहक और एक प्रकाशक का संयोजन, जो स्ट्रीम के माध्यम से प्रवाहित होने वाले डेटा को बदलने के लिए उपयोगी है।

फ्लो एपीआई का उपयोग करना

यहां एक सरल प्रतिक्रियाशील स्ट्रीम बनाने के लिए फ़्लो एपीआई का उपयोग करने का एक उदाहरण दिया गया है:

  1. एक प्रकाशक बनाएं:
import java.util.concurrent.Flow.*;

public class SimplePublisher implements Publisher {
    private String[] data;

    public SimplePublisher(String[] data) {
        this.data = data;
    }

    @Override
    public void subscribe(Subscriber super String> subscriber) {
        subscriber.onSubscribe(new Subscription() {
            private int index = 0;
            private boolean canceled = false;

            @Override
            public void request(long n) {
                for (int i = 0; i 



  1. एक सब्सक्राइबर बनाएं:
import java.util.concurrent.Flow.*;

public class SimpleSubscriber implements Subscriber {
    private Subscription subscription;

    @Override
    public void onSubscribe(Subscription subscription) {
        this.subscription = subscription;
        subscription.request(1); // Request the first item
    }

    @Override
    public void onNext(String item) {
        System.out.println("Received: "   item);
        subscription.request(1); // Request the next item
    }

    @Override
    public void onError(Throwable throwable) {
        throwable.printStackTrace();
    }

    @Override
    public void onComplete() {
        System.out.println("All items received.");
    }
}
  1. प्रकाशक और सब्सक्राइबर का उपयोग करें:
public class FlowApiExample {
    public static void main(String[] args) {
        String[] data = {"Hello", "world", "from", "Flow", "API"};
        SimplePublisher publisher = new SimplePublisher(data);
        SimpleSubscriber subscriber = new SimpleSubscriber();

        publisher.subscribe(subscriber);
    }
}

फ़्लो एपीआई के लाभ

  1. बैकप्रेशर हैंडलिंग: फ्लो एपीआई बैकप्रेशर को संभालने के लिए अंतर्निहित तंत्र प्रदान करता है, जिससे ग्राहकों को उस दर को नियंत्रित करने की अनुमति मिलती है जिस पर वे डेटा प्राप्त करते हैं।
  2. एसिंक्रोनस प्रोसेसिंग: प्रतिक्रियाशील धाराओं का लाभ उठाकर, फ्लो एपीआई गैर-अवरुद्ध, एसिंक्रोनस डेटा प्रोसेसिंग की अनुमति देता है, अनुप्रयोगों की स्केलेबिलिटी और प्रतिक्रिया में सुधार करता है।
  3. मानकीकरण: फ्लो एपीआई जावा का एक मानक हिस्सा है, जो विभिन्न जावा अनुप्रयोगों और पुस्तकालयों में अनुकूलता और उपयोग में आसानी सुनिश्चित करता है।

निष्कर्ष

जावा में फ्लो एपीआई प्रतिक्रियाशील धाराओं को लागू करने का एक शक्तिशाली और लचीला तरीका प्रदान करता है, जो डेवलपर्स को स्केलेबल और उत्तरदायी एप्लिकेशन बनाने में सक्षम बनाता है। फ़्लो एपीआई को समझकर और उसका उपयोग करके, आप एसिंक्रोनस डेटा स्ट्रीम को अधिक प्रभावी ढंग से संभाल सकते हैं और अधिक लचीले जावा एप्लिकेशन बना सकते हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/adaumircosta/reactive-streams-and-the-flow-api-in-java-3eg6?1 यदि कोई उल्लंघन है, तो कृपया हटाने के लिए स्टडी_गोलंग@163.com पर संपर्क करें यह
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3