एक थ्रेड को प्रोग्राम के निष्पादन पथ के रूप में परिभाषित किया जाता है। प्रत्येक थ्रेड कंट्रोल का एक अनूठा प्रवाह परिभाषित करता है। यदि आपके एप्लिकेशन में जटिल और समय लेने वाले ऑपरेशन्स शामिल हैं, तो अक्सर अलग-अलग निष्पादन पथ या थ्रेड्स सेट करना उपयोगी होता है, जिसमें प्रत्येक थ्रेड एक विशेष कार्य करता है।
थ्रेड का जीवन चक्र तब शुरू होता है जब System.Threading.Thread क्लास का ऑब्जेक्ट बनाया जाता है और तब समाप्त होता है जब थ्रेड समाप्त या निष्पादन पूरा करता है।
थ्रेड के जीवन चक्र में विभिन्न स्टेट्स निम्नलिखित हैं:
Unstarted State - यह स्थिति तब होती है जब थ्रेड का इंस्टेंस बनाया जाता है लेकिन Start मेथड नहीं बुलाया जाता।
Ready State - यह स्थिति तब होती है जब थ्रेड चलने के लिए तैयार होता है और CPU साइकिल की प्रतीक्षा कर रहा होता है।
Not Runnable State - एक थ्रेड निष्पादन योग्य नहीं होता जब:
- Sleep मेथड बुलाया गया हो
- Wait मेथड बुलाया गया हो
- I/O ऑपरेशन्स द्वारा ब्लॉक्ड हो
Dead State - यह स्थिति तब होती है जब थ्रेड निष्पादन पूरा करता है या अबॉर्ट हो जाता है।
थ्रेड बनाने का उदाहरण:
उदाहरण
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