थ्रेड्स हल्के वजन की प्रक्रियाएं होती हैं। प्रत्येक थ्रेड कंट्रोल फ्लो का एक अनूठा पथ परिभाषित करता है। थ्रेड का जीवन चक्र तब शुरू होता है जब System.Threading.Thread क्लास का ऑब्जेक्ट बनाया जाता है और तब समाप्त होता है जब थ्रेड समाप्त हो जाता है या निष्पादन पूरा कर लेता है।
थ्रेड लाइफसाइकिल में विभिन्न स्टेट्स
1. अनस्टार्टेड स्टेट (Unstarted State)
यह वह स्थिति है जब थ्रेड का इंस्टेंस बनाया जाता है लेकिन Start मेथड को कॉल नहीं किया जाता।
2. रेडी स्टेट (Ready State)
यह वह स्थिति है जब थ्रेड चलने के लिए तैयार होता है और CPU साइकिल का इंतजार कर रहा होता है।
3. नॉट रनेबल स्टेट (Not Runnable State)
एक थ्रेड निष्पादन योग्य नहीं होता जब:
Sleepमेथड को कॉल किया गया होWaitमेथड को कॉल किया गया हो- I/O ऑपरेशन्स द्वारा ब्लॉक किया गया हो
4. डेड स्टेट (Dead State)
यह वह स्थिति है जब थ्रेड निष्पादन पूरा कर लेता है या अबॉर्ट हो जाता है।
थ्रेड स्टेट ट्रांजिशन आरेख
Unstarted → Start() → Ready → CPU साइकिल मिलने पर → Running
Running → Sleep/Wait/I/O → Not Runnable → Ready
Running → कार्य पूरा/Abort() → Dead