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

जावा में मल्टीथ्रेडिंग: एक गहरा गोता

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

Multithreading in Java : A Deep Dive

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

जावा में मल्टीथ्रेडिंग का उपयोग करने के प्राथमिक कारण:

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

थ्रेड निर्माण: थ्रेड्स को 'थ्रेड' क्लास का विस्तार करके या 'रननेबल' इंटरफ़ेस को लागू करके बनाया जा सकता है। थ्रेड्स समान प्रक्रिया साझा करते हैं लेकिन उनका अपना स्टैक और प्रोग्राम काउंटर होता है।

जावा में थ्रेड बनाना:

  1. थ्रेड क्लास का विस्तार:

जावा कोड:

class MyThread extends Thread 
{
    public void run() 
    {

    }
}

// Creating and starting the thread
MyThread myThread = new MyThread();
myThread.start();
  1. रननेबल इंटरफ़ेस को कार्यान्वित करना: 'रननेबल' इंटरफ़ेस को कार्यान्वित करना एक अधिक लचीला दृष्टिकोण है, जो डेवलपर को अन्य कक्षाओं का भी विस्तार करने में सक्षम बनाता है।

जावा कोड:

class MyRunnable implements Runnable 
{
    public void run() 
    {

    }
}

// Creating and starting the thread
Thread myThread = new Thread(new MyRunnable());
myThread.start();

थ्रेड स्टेट्स और जीवनचक्र: जावा में एक थ्रेड अपने जीवनचक्र में विभिन्न राज्यों से गुजरता है।

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

मल्टीथ्रेडिंग में सिंक्रोनाइज़ेशन: जब कई थ्रेड एक साथ साझा संसाधनों तक पहुंचते हैं तो समवर्ती समस्याएं उत्पन्न होती हैं। सिंक्रोनाइज़ेशन यह सुनिश्चित करता है कि एक समय में केवल एक थ्रेड ही संसाधन तक पहुंच सकता है। इसे 'सिंक्रोनाइज़्ड' कीवर्ड का उपयोग करके हासिल किया जाता है।

जावा कोड:

class SharedResource 
{
    private int count = 0;
    public synchronized void increment() 
    {
        count  ;
    }
}

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

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/vikhi_jayswal/multithreading-in-java-a- Deep-dive-51h2?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com पर संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3