C# multithreading in hindi-C# मुल्तिथ्रेअदिन्ग क्या है?

हेल्लो दोस्तों ! आज के इस पोस्ट में आपको c# multithreading in hindi के बारे में आपको दिया जा रहा है की क्या होता है कैसे काम करता है तो चलिए शुरू करते है

C# multithreading का परिचय

  • multithreading ऐसी programming तकनीक(technique) है जिसमे multiple threads का प्रयोग करते हुए कई code को blocks को एक साथ ही execute किया जाता है
  • thread एक execution का path होता है जो आपके program को operating system से connect करने के लिये और उसके resource (cpu आदि) का प्रयोग करने के लिए ही provide की जाती है
  • normally जब आप एक c# program को execute करते है तो वह एक thread के द्वारा ही execute होता है यह thread CLR के द्वारा program को run करने से पूर्व create की जाती है इसे main thread कहा जाता है
  • ऐसी application जो सिर्फ एक ही thread के द्वारा ही execute होती है वह single threaded application कहलाता है single threaded applications का drawback यह होता है की उनमे एक task के complete होने पर ही दूसरा task को execute हो सकता है
  • लेकिन आप कई बार आपको एक से अधिक tasks एक साथ को execute करने की आवश्यकता हो सकती है ऐसी में आप multithreading का प्रयोग कर सकते है
  • multithreading technique के द्वारा आपने program में एक से अधिक threads को create करके आप अलग अलग code को blocks को (अलग अलग execution paths के द्वारा ) एक साथ ही execute कर सकते है
  • main thread के आलावा आप जो thread को create करते है वे child thread कहलाता है यदि main thread का execution complete हो जाती है  तो वह टर्मिनेट(terminate) होने से पहले ही child threads का execution को complete होने तक wait करती है

thread class

c# में multithreading implement करने के लिए ही थ्रेडिंग(threading) namespace को provide किया गया है इस namespace में कई classes,structs,delegates,enumerators और interface को provide किये गए है जिनके द्वारा आप multithreading को implement करना आसान होता है

अपने program में multithreading को implement करने के लिए ही आपको इस namespace को शुरआत में include करना होता है इसका आपको syntax निचे दिया जा रहा है

using System.Threading;

threading namespace में प्रोविडे की गयी thread class का सबसे important है इस class का object को create करके ही आप thread को create करते है यह class threads को manage करने के लिए ही कई methods और properties को provide करती है

thread class में provide किये गए सर्वाधित प्रयोग होने वाले कुछ methods के बारे में आपको निचे details से दिया जा रहा है

  1. start() –यह method thread को start करने के लिए प्रयोग किया जाता है इस methods को thread class के object के साथ ही call किया जाता है
  2. sleep() –यह methods thread को कुछ समय के लिए pause करने के लिए प्रयोग किया जाता है इस method में समय miliseconds के रूप में pass किया जाता है
  3. suspend() –इस method का प्रयोग thread को suspend करने से पहले ही suspended state में है तो इस method का कोई effect नहीं होता है suspend की गयी thread को दुबारा resume किया जा सकता है
  4. Abort() –इस method का प्रयोग किसी thread को abort करने के लिए किया जाता है इस method में आप argument के रूप में string message को pass करते है जो thread के abort होने के कारण के रूप में शो किया जा सकता है
  5. Resume() –इस method का प्रयोग किसी suspend कि गयी thread को resume करने के लिए किया जाता है
  6. Join() -इस methods का प्रयोग किसी thread को दूसरी thread के साथ जोड़ने के लिए किया जाता है ऐसे करने से जब तक वह thread को finish नहीं हो जाती दूसरी thread block कर दी जाती है

जैसे की मैंने पहले आपको बताया की thread class में properties भी provide की गयी है कुछ useful propertie  के बारे में आपको निचे दिया जा रहा है

  1. isAlive –यदि thread alive(running) है तो इस property की value को true होती है
  2. isBackground –इस property के द्वारा आप thread को background property के रूप में set किया जा सकता है इसके अलाबा आप इस property के द्वारा यह भी पता लगाया जाता है की कोई thread background है या नहीं
  3. Name– इस property के द्वारा आप thread का नाम get(access) और set किया जाता है
  4. Priority– इस property के द्वारा आप thread की priority get और set कर सकते है
  5. ThreadState –यह property thread की current state को describe करती है एक thread unstarted,runnable ,running ,not runnable और dead में से किसी state में हो सकती है

creating & managing threads

c# में thread को create करने के लिए thread class का object को create किया जाता है thread class का हर object एक separate thread को represent करता है

c# में thread को create करने का general syntax आपको निचे दिया जा रहा है

Thread thread-obj-name=new
Thread(ThreadStart-class-reference);

जैसे की आप उपर दिए गए syntax में आप देख सकते है की thread class का object को create करते समय उसमे argument के रूप में ThreadStart class का reference pass किया जाता है तो यह reference उस function को point करता है जो उस thread के start होने पर ही execute किया जायेगा

ThreadStart class का reference को pass करने का general syntax आपको निचे दिया जा रहा है

new ThreadStart(function-name);

जैसे की आप उपर दिए गए syntax में आप देख सकते है की ThreadStart class का reference को directly new keyword के प्रयोग किया जाता है यह reference को pass करने की shorter form होती है आप चाहे तो ThreadStart class का object को create करके उसमे function pass करके उस object को thread class का object को create करते समय pass कर सकते है

लेकिन ऐसे करने से आपको ThreadStart class के अलग से objects को create करने होंगे जिससे code को काफी lengthy हो जायगा इसलिए आपको हमेशा इस shorter form को ही  प्रयोग करना चाहिए इसे आसानी से thread class के object को create करते समय pass किया जा सकता है

इस reference में उस function का नाम को pass किया जाता है जो thread के start होने पर ही execute किया जायेगा

अलग अलग threads को create करते समय आप अलग अलग functions के नाम और उनमे pass करते है इन function को normal functions की तरह ही create किया जाता है इन function में आप वह code को लिखते है जो किसी particular thread के द्वारा execute किया जायेगा

इस प्रकार से start होने पर अलग अलग threads के द्वारा अलग को start करना होता है thread को start करने के लिए आप thread object से start() method को call किया जाता है इसका आपको syntax निचे दिया जा रहा है

thread-obj-name.Start();

thread को start करने के बाद उसके execution को आप thread class के द्वारा ही provide किये गए methods के द्वारा ही manage कर सकते है

इसे भी पढ़े -what is namespace

steps to create a multithreaded program

एक multithreaded में प्रोग्राम को create करने की step by step में process निचे आपको दिया जा रहा है

  1. System और System.Threading namespace के लिए ही using स्टेटमेंट(statement) को डिफाइन कीजिये
  2. class और main() method को डिफाइन कीजिये
  3. methods को डिफाइन कीजिये की जो विभिन्न threads के शुरू होने पर execute होंगे इन method s में आप main functionality के आलावा threads को control करने के लिए ही sleep() ,suspend() आदि में methods भी प्रयोग कर सकते है
  4. आप जितनी threads को प्रोग्राम में create करना चाहते है तो उतने thread class के object को create कीजिये
  5. threads को start करने के लिए ही हर thread को objects के साथ ही start() method को call कीजिये

example of c# multithreading

c# में multithreading के उपयोग करने के लिए आपको example के द्वारा निचे दिया जा रहा है

using System;
using System.Threading;
class threadDemo
{
     Static void Main(string[] args)
      {
              Thread t1=new Thread(new ThreadStart(ThreadFunc));
              t1.Start();
              t2.Start();
        }
        Public static void ThreadFunc()
         {
              for(int i=1;i<=10;i++)
               {
                    Thread.Sleep(100);
                    Console.WriteLine(i);
              }
      }
}

उपर दिए गए example के द्वारा आप दिए गए आउटपुट को generate करता है

1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10

 

c# multithreading in hindi

reference-https://www.tutorialspoint.com/csharp/csharp_multithreading.htm

c# multithreading in hindi

निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(c# multithreading in hindi) या post अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये और -अगर कोई topic(c# multithreading in hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject के लेकर भी कोई प्रश्न हो तो कमेंट करे “आपका comments हमारे लिए बहुमूल्य है “   *_*धन्यवाद

Leave a Comment