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

जावा में थ्रेड कंकरेंसी

2024-11-19 को प्रकाशित
ब्राउज़ करें:220

Thread Concurrency In Java

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

जावा में मल्टीथ्रेडिंग की मुख्य विशेषताएं:

  1. थ्रेड्स बनाना।
  2. निष्पादकों के साथ थ्रेड प्रबंधन
  3. समवर्ती उपयोगिताएँ
  4. फोर्क/ज्वाइन फ्रेमवर्क
  5. संपूर्ण भविष्य के साथ अतुल्यकालिक प्रोग्रामिंग

1️⃣ थ्रेड्स बनाना।

  • थ्रेड का विस्तार: रन() विधि को ओवरराइड करके एक नया थ्रेड बनाएं।

  • रननेबल को कार्यान्वित करना: एक रननेबल इंस्टेंस को थ्रेड ऑब्जेक्ट में पास करना।

  • कॉल करने योग्य कार्यान्वयन: रननेबल के विपरीत, कॉल करने योग्य थ्रेड्स को परिणाम लौटाने और चेक किए गए अपवादों को संभालने की अनुमति देता है।

2️⃣ निष्पादकों के साथ थ्रेड प्रबंधन।

  • जावा का एक्ज़ीक्यूटर फ्रेमवर्क (java.util.concurrent.ExecutorService) थ्रेड पूल का प्रबंधन करता है, जिससे कार्यों का कुशल संचालन संभव हो पाता है।

  • फिक्स्डथ्रेडपूल और कैश्डथ्रेडपूल जैसे निष्पादक पुन: प्रयोज्य थ्रेड्स का एक पूल बनाते हैं, नए थ्रेड्स बनाने के ओवरहेड को कम करने के लिए उन्हें कुशलतापूर्वक प्रबंधित करते हैं।

3️⃣ समवर्ती उपयोगिताएँ

  • लॉक: रीएंट्रेंटलॉक जैसे उन्नत लॉकिंग तंत्र सिंक्रनाइज़ तरीकों की तुलना में अधिक लचीलापन प्रदान करते हैं, जिससे समयबद्ध और बाधित ताले की अनुमति मिलती है।

  • परमाणु चर: java.util.concurrent.atomic पैकेज में परमाणु वर्ग (AtomicInteger, AtomicLong) शामिल हैं जो लॉक-फ्री थ्रेड की पेशकश करते हैं-
    सुरक्षित संचालन।

  • सिंक्रोनाइज़र:इसमें उपयोगिताएँ शामिल हैं:
    काउंटडाउनलैच: एक थ्रेड को अन्य थ्रेड के पूरा होने तक प्रतीक्षा करने की अनुमति देता है
    कार्य.
    साइक्लिकबैरियर: एक सामान्य
    पर थ्रेड्स की एक निश्चित संख्या को सिंक्रोनाइज़ करता है बाधा बिंदु.
    सेमाफोर: एक विशिष्ट संख्या की अनुमति देकर संसाधनों तक पहुंच को नियंत्रित करता है
    समवर्ती धागों का।

4️⃣ फोर्क/ज्वाइन फ्रेमवर्क

  • 1. फूट डालो और जीतो कार्यों के लिए, ForkJoinPool एक कार्य को छोटे उप-कार्यों में विभाजित करता है जो समानांतर में संसाधित होते हैं, विशेष रूप से पुनरावर्ती एल्गोरिदम में उपयोगी होते हैं।

5️⃣ पूर्ण भविष्य के साथ अतुल्यकालिक प्रोग्रामिंग

  • CompletableFuture अतुल्यकालिक और गैर-अवरुद्ध प्रोग्रामिंग को सक्षम बनाता है, जो जटिल वर्कफ़्लो के लिए कार्यों को श्रृंखलाबद्ध और संयोजित करने की अनुमति देता है।

थ्रेड उदाहरण का उपयोग करना

मुख्य वर्ग कॉल 2 अलग थ्रेड

public class ThreadConcurrence {
    public static void main(String[] args) {
        // There is 2 type you have to call thread method
                //1- Extend Thread class
                //1- Implements Runnable class
        // why Implement concept is introduce here
                // because in java multiple thread dose not support that's so why implement class will introduce
                // ex- when u extend (inherit) base call, then at that time this call can not extend another Thread class.
        int n = 10;
        for (int i = 0; i 



थ्रेड1--(थ्रेड बढ़ाता है)

public class Thread1 extends Thread{
    //If you are extend Thread class then you  most be used run()
    // Because when you start a thread then run() automatically call and run
    public void run(){
        try {
            System.out.println("Thread1 is running now....");
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}

थ्रेड2--(रननेबल को लागू करता है)

public class Thread2 implements Runnable {
    //IF you are implement thread Then run() will be executed.
    // Because when you start a thread then run() automatically call and run
    public void run(){
        try {
            System.out.println("Thread2 is running.......");
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}

निष्कर्ष :

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

अधिक जानकारी के लिए, गहन उदाहरणों और कोड नमूनों के लिए बेझिझक अपने लिंक्डइन और गिटहब का उल्लेख करें! यदि आप कोई विशिष्ट समायोजन चाहते हैं तो मुझे बताएं।

लिंक्डइन: https://www.linkedin.com/in/pravanjan-17p/

गिटहब: https://github.com/prabhanjan-17p

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

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

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

Copyright© 2022 湘ICP备2022001581号-3