एक थ्रेड को प्रोग्राम के निष्पादन पथ के रूप में परिभाषित किया जाता है। प्रत्येक धागा नियंत्रण के एक अद्वितीय प्रवाह को परिभाषित करता है। यदि आपके एप्लिकेशन में जटिल और समय लेने वाली कार्रवाइयां शामिल हैं, तो यह अक्सर अलग-अलग निष्पादन पथ या थ्रेड सेट करने में सहायक होता है, जिसमें प्रत्येक थ्रेड एक विशेष कार्य करता है।
थ्रेड का जीवन चक्र तब शुरू होता है जब System.Threading.Thread क्लास का कोई ऑब्जेक्ट बनता है और थ्रेड समाप्त होने या निष्पादन पूरा होने पर समाप्त होता है।
एक धागे के जीवन चक्र में विभिन्न अवस्थाएँ निम्नलिखित हैं -
-
द अनस्टार्टेड स्टेट - यह वह स्थिति है जब थ्रेड का उदाहरण बनाया जाता है लेकिन प्रारंभ विधि को नहीं कहा जाता है।
-
द रेडी स्टेट - यह वह स्थिति है जब थ्रेड चलने के लिए तैयार होता है और CPU चक्र की प्रतीक्षा करता है।
-
चलने योग्य नहीं राज्य - एक थ्रेड निष्पादन योग्य नहीं है, जब
- नींद के तरीके को कहा गया है
- प्रतीक्षा विधि कहलाती है
- I/O संचालन द्वारा अवरुद्ध
-
द डेड स्टेट - यह वह स्थिति है जब थ्रेड निष्पादन पूरा करता है या निरस्त हो जाता है।
निम्नलिखित एक उदाहरण है जिसमें दिखाया गया है कि एक धागा कैसे बनाया जाता है -
उदाहरण
using System; using System.Threading; namespace Demo { class Program { public static void ThreadFunc() { Console.WriteLine("Child thread starts"); } static void Main(string[] args) { ThreadStart childref = new ThreadStart(ThreadFunc); Console.WriteLine("In Main: Creating the Child thread"); Thread childThread = new Thread(childref); childThread.Start(); Console.ReadKey(); } } }
आउटपुट
In Main: Creating the Child thread Child thread starts