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

प्रोजेक्ट लूम का परिचय

2024-07-30 को प्रकाशित
ब्राउज़ करें:436

Introduction to Project Loom

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

प्रोजेक्ट लूम क्या है?

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

प्रोजेक्ट लूम क्यों?

  1. स्केलेबिलिटी: पारंपरिक थ्रेड मेमोरी और सीपीयू के मामले में महंगे हैं, जिससे जावा अनुप्रयोगों की स्केलेबिलिटी सीमित हो जाती है। फाइबर हल्के होते हैं, जो अनुप्रयोगों को लाखों समवर्ती कार्यों को करने में सक्षम बनाते हैं।
  2. सरलीकृत समवर्ती: प्रोजेक्ट लूम का लक्ष्य अधिक सरल और लचीला मॉडल प्रदान करके समवर्ती अनुप्रयोगों के विकास को सरल बनाना है।
  3. बेहतर प्रदर्शन: पारंपरिक धागों से जुड़े ओवरहेड को कम करके, फाइबर अत्यधिक समवर्ती अनुप्रयोगों के प्रदर्शन में सुधार कर सकते हैं।

प्रोजेक्ट लूम में फाइबर का उपयोग करना

यहां एक उदाहरण दिया गया है कि आप जावा एप्लिकेशन में फाइबर का उपयोग कैसे कर सकते हैं:

import java.util.concurrent.Executors;
import java.util.concurrent.ExecutorService;

public class LoomExample {
    public static void main(String[] args) {
        ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor();

        for (int i = 0; i  {
                System.out.println("Hello from fiber "   Thread.currentThread().getName());
            });
        }

        executor.shutdown();
    }
}

इस उदाहरण में, हम एक निष्पादक बनाते हैं जो वर्चुअल थ्रेड्स (फाइबर) का उपयोग करता है। फिर हम इस निष्पादक को लाखों कार्य सौंपते हैं। प्रत्येक कार्य वर्तमान थ्रेड के नाम के साथ एक संदेश प्रिंट करता है।

प्रोजेक्ट लूम में निरंतरता का उपयोग करना

निरंतरता आपको गणना को रोकने और फिर से शुरू करने की अनुमति देती है। यहाँ एक बुनियादी उदाहरण है:

import jdk.incubator.concurrent.Continuation;
import jdk.incubator.concurrent.ContinuationScope;

public class ContinuationExample {
    public static void main(String[] args) {
        ContinuationScope scope = new ContinuationScope("example");

        Continuation continuation = new Continuation(scope, () -> {
            System.out.println("Part 1");
            Continuation.yield(scope);
            System.out.println("Part 2");
        });

        while (!continuation.isDone()) {
            continuation.run();
        }
    }
}

इस उदाहरण में, निरंतरता "भाग 1" प्रिंट करती है, मुख्य थ्रेड पर नियंत्रण वापस लाती है, और फिर "भाग 2" प्रिंट करना शुरू करती है।

प्रोजेक्ट लूम के लाभ

  1. संसाधन दक्षता: फाइबर पारंपरिक थ्रेड्स की तुलना में काफी कम मेमोरी और सीपीयू संसाधनों का उपयोग करते हैं।
  2. आसान समवर्ती: समवर्ती कोड के लेखन और समझ को सरल बनाता है।
  3. उन्नत प्रदर्शन: एप्लिकेशन को अधिक समवर्ती कार्यों को कुशलतापूर्वक संभालने की अनुमति देता है।

निष्कर्ष

प्रोजेक्ट लूम जावा में समवर्तीता को संभालने के तरीके में क्रांतिकारी बदलाव लाने के लिए तैयार है। हल्के फाइबर और निरंतरता को पेश करके, यह समवर्ती प्रोग्रामिंग के लिए अधिक स्केलेबल और कुशल मॉडल प्रदान करता है। डेवलपर्स इन नई सुविधाओं के साथ सरल, अधिक प्रदर्शन करने वाले समवर्ती एप्लिकेशन लिखने की आशा कर सकते हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/adaumircosta/introduction-to-project-loom-2m98?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3