Multithreading in Java in Hindi – जावा में multithreading क्या है?

हेल्लो दोस्तों! आज हम इस पोस्ट में Multithreading in Java in Hindi (जावा में multithreading क्या है?) के बारें में पूरे विस्तार से पढेंगे और thread के बारें में भी देखेंगे. इसे मैंने बहुत ही आसान भाषा में लिखा हुआ है. इसे आप पूरा पढ़िए. यह आपको आसानी से समझ आ जायेगा.

Multithreading in Java in Hindi

Java में, multithreading एक प्रक्रिया है जिसके द्वारा हम बहुत सारें threads को एक साथ execute कर सकते हैं. इससे CPU का अधिकतम utilization (उपयोग) होता है.

एक thread, प्रोसेसिंग का सबसे छोटा और lightweight sub-process होता है. Thread एक दूसरे से independent (स्वतंत्र) होते है क्योंकि उनके execution का path अलग होता है. अगर कभी किसी thread में कोई exception आ भी गया तो, उससे दूसरे threads को कोई प्रभाव नहीं पड़ता.

Multithreading का उपयोग multitasking को प्राप्त (achieve) करने के लिए किया जाता है. इसका प्रयोग ज्यादातर games और animation को create करने में किया जाता है.

Advantage of Multithreading – इसके लाभ

  1. यह user को block नहीं करता है क्योंकि threads एक दूसरे से independent होते है.
  2. आप इसके द्वारा एक समय में बहुत सारें कार्य कर सकते है. जिससे समय की बचत होती है.
  3. एक process के सभी threads इसके resources (जैसे कि – memory, data और files आदि) को share करते है. जिससे हमें threads को अलग से resources को allocate करने की जरुरत नहीं पड़ती.
  4. मल्टीथ्रेडिंग CPU के idle time को कम करता है जिससे system की performance बेहतर होती है.

What is Thread in Hindi – जावा थ्रेड क्या है?

Thread एक lightweight process होती है. जावा multithreaded programming को सपोर्ट करती है. एक multithreaded program दो या दो से अधिक ऐसे parts को contain किये रहता है जो एक साथ run होते हैं. ऐसे program का प्रत्येक part एक thread कहलाता है.

प्रत्येक thread के execution का path अलग होता है. और ये independent होते हैं जिससे अगर कभी एक thread में कोई exception आ भी जाये तो उसका प्रभाव दूसरे threads पर नहीं पड़ता.

इसमें दो प्रकार के thread होते है. पहला user thread और दूसरा daemon thread. (daemon threads का use तब होता है जब हम application को clean करना चाहते है और इनको background में use किया जाता है.)

जावा में threads का प्रयोग करने के लिए ‘Thread Class’ का use किया जाता है.

Life Cycle of a Thread – थ्रेड का लाइफ साइकिल

थ्रेड की लाइफ साइकिल में पांच stages होती हैं जो कि निम्नलिखित हैं:-

  • New – एक थ्रेड अपना लाइफ साइकिल new state में शुरू करता है. यह इस state में तब तक रहता है जब तक start() method को call नहीं किया जाता.
  • Runnable – जब थ्रेड को start() method के द्वारा start कर दिया जाता है तो यह runnable हो जाता है अर्थात् यह runnable state में चला जाता है.
  • Running – एक थ्रेड running state में होता है यदि scheduler उसे select करता है.
  • Waiting – एक थ्रेड तब waiting state में होता है जब वह एक task को परफॉर्म करने के लिए दूसरे task के लिए wait करता है.
  • Terminated – जब thread अपने task पूरा कर देता है तो वह terminated state में चला जाता है.

इसे पूरा पढ़ें:- Thread की life cycle क्या है?

Thread को Create कैसे करते है?

 इसे दो तरीकों से create किया जा सकता है:-

  1. Thread class को extend करके
  2. Runnable interface को implement करके

Thread class को extend करके

class MultiDemo extends Thread{  
public void run(){  
System.out.println("thread is running...");  
}  
public static void main(String args[]){  
MultiDemo t1=new MultiDemo();  
t1.start();  
 }  
}  

इसका आउटपुट:- thread is running…

Runnable interface को implement करके

class MultiDemo implements Runnable{  
public void run(){  
System.out.println("thread is running...");  
}  
  
public static void main(String args[]){  
MultiDemo m1=new MultiDemo();  
Thread t1 =new Thread(m1);  
t1.start();  
 }  
}  

इसका आउटपुट:- thread is running…

Thread class और runnable interface के बीच अंतर

  1. यदि हम thread class को extend करते है तो हमारी class दूसरी classes को extend नहीं कर सकती. क्योंकि जावा multiple inheritance को सपोर्ट नहीं करती है. परन्तु यदि हम runnable interface को implement करते है तो हमारी class दूसरी base classes को extend कर सकती है.
  2. हम thread class को extend करके एक thread की बेसिक कार्यविधि (functionality) को प्राप्त कर सकते हैं. क्योंकि यह in-built methods जैसे:- yield(), interrupt() आदि प्रदान करता है. जबकि ये मेथड runnable interface में उपलब्ध नहीं होती है.

Thread methods in Java in Hindi

नीचे आपको thread class में मौजूद कुछ महत्वपूर्ण thread methods दी गयी हैं:-

start()इसका प्रयोग थ्रेड को start करने के लिए किया जाता है.
run()इसका प्रयोग थ्रेड को run करने के लिए किया जाता है.
sleep()यह thread को किसी एक time period के लिए suspend कर देता है.
join()यह थ्रेड के खत्म होने का इन्तजार करता है.
getPriority()यह थ्रेड की priority को return करता है.
setPriority()यह थ्रेड की priority को बदल देता है.
getName()यह थ्रेड के name को return करता है.
setName()यह थ्रेड के name को change कर देता है.
isAlive()यह check करता है कि थ्रेड alive (जीवित) है या नहीं.
yield()यह वर्तमान में execute हो रहे thread object को pause करता है और दूसरे threads को execute करता है.
suspend()इसका प्रयोग thread को suspend करने के लिए किया जाता है.
resume()इसका प्रयोग suspended thread को resume करने के लिए किया जाता है.
stop()इसका उपयोग thread को stop करने के लिए किया जाता है.
destroy()इसका प्रयोग thread group को destroy करने के लिए किया जाता है.
interrupt()इसका प्रयोग थ्रेड को interrupt करने के लिए किया जाता है.

निवेदन:- अगर आपके लिए Multithreading in Java in Hindi का यह आर्टिकल उपयोगी रहा हो तो इसे अपने दोस्तों और classmates के साथ अवश्य share कीजिये.
अगर आपके इससे related कोई doubt हो तो नीचे कमेंट करके बताइए. और आपके java programming या किसी अन्य subjects से सम्बन्धित कोई सवाल हो तो उसे भी नीचे कमेंट करके बता सकते हैं. Thanks.

4 thoughts on “Multithreading in Java in Hindi – जावा में multithreading क्या है?”

  1. hii i am kaushal from gopeshwar the post on multithreading was nice. mujhe sab samjh me aa gaya hai.in future me esi hi post share karte rhena.apka pyara kaushal kumar urf (shanku)
    meri thrf se apke pariwar or apko happy diwali.

    Reply

Leave a Comment