Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

सी # में मल्टीथ्रेडिंग

एक थ्रेड को प्रोग्राम के निष्पादन पथ के रूप में परिभाषित किया जाता है। प्रत्येक थ्रेड contr के एक अद्वितीय प्रवाह को परिभाषित करता है।

C# में, System.Threading.Thread क्लास का उपयोग थ्रेड्स के साथ काम करने के लिए किया जाता है। यह मल्टीथ्रेडेड एप्लिकेशन में अलग-अलग थ्रेड्स बनाने और एक्सेस करने की अनुमति देता है। किसी प्रक्रिया में निष्पादित होने वाले पहले धागे को मुख्य धागा कहा जाता है।

थ्रेड का जीवन चक्र तब शुरू होता है जब System.Threading.Thread क्लास का कोई ऑब्जेक्ट बनता है और थ्रेड समाप्त होने या निष्पादन पूरा होने पर समाप्त होता है।

एक धागे के जीवन चक्र में विभिन्न अवस्थाएँ निम्नलिखित हैं -

  • द अनस्टार्टेड स्टेट - यह वह स्थिति है जब थ्रेड का उदाहरण बनाया जाता है लेकिन प्रारंभ विधि को नहीं कहा जाता है।

  • द रेडी स्टेट - यह वह स्थिति है जब थ्रेड चलने के लिए तैयार होता है और CPU चक्र की प्रतीक्षा करता है।

  • चलने योग्य नहीं राज्य - एक थ्रेड निष्पादन योग्य नहीं है, जब

    • नींद के तरीके को कहा गया है
    • प्रतीक्षा विधि कहलाती है
    • I/O संचालन द्वारा अवरुद्ध
  • द डेड स्टेट - यह वह स्थिति है जब थ्रेड निष्पादन पूरा करता है या निरस्त कर दिया जाता है।

निम्नलिखित एक उदाहरण है जिसमें दिखाया गया है कि C# में एक थ्रेड कैसे बनाया जाता है -

उदाहरण

using System;
using System.Threading;

namespace Demo {
   class Program {
      static void Main(string[] args) {
         Thread th = Thread.CurrentThread;
         th.Name = "MainThread";

         Console.WriteLine("This is {0}", th.Name);
         Console.ReadKey();
      }
   }
}

आउटपुट

This is MainThread

  1. 6G:यह क्या है और इसकी अपेक्षा कब करें

    5G नेटवर्क अभी भी दुनिया भर में तैनात किए जा रहे हैं और दुनिया के कई क्षेत्र अभी भी 4G और यहां तक ​​कि 3G नेटवर्क का उपयोग कर रहे हैं, ऐसे में 6G शब्द का इस्तेमाल करना थोड़ा जल्दी लगता है। . आखिर हमारे पास 6G नेटवर्क का क्या उपयोग है जबकि अपेक्षाकृत कम लोग ही 5G नेटवर्क का उपयोग कर सकते हैं? उस ने

  1. सी # में दावा

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

  1. मल्टीथ्रेडिंग में जावा थ्रेड प्राथमिकता

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