System.Threading.Thread क्लास थ्रेड प्रबंधन के लिए विभिन्न मेथड्स प्रदान करती है।
मुख्य मेथड्स तालिका
| क्र. | मेथड | विवरण |
|---|---|---|
| 1 | Start() | थ्रेड शुरू करता है |
| 2 | Sleep(ms) | थ्रेड को निर्दिष्ट मिलीसेकंड के लिए रोकता है |
| 3 | Join() | कॉलिंग थ्रेड को ब्लॉक करता है जब तक थ्रेड समाप्त न हो जाए |
| 4 | Abort() | थ्रेड को समाप्त करने का अनुरोध करता है (ThreadAbortException फेंकता है) |
| 5 | Interrupt() | WaitSleepJoin स्टेट में थ्रेड को इंटरप्ट करता है |
| 6 | SpinWait(iterations) | थ्रेड को निर्दिष्ट इटरेशन्स के लिए व्यस्त रखता है |
| 7 | MemoryBarrier() | मेमोरी एक्सेस सिंक्रोनाइज़ करता है |
| 8 | GetDomain() | वर्तमान ऐप डोमेन लौटाता है |
| 9 | GetData/SetData | थ्रेड-लोकल स्टोरेज स्लॉट्स के लिए |
| 10 | BeginCriticalRegion/EndCriticalRegion | होस्ट को क्रिटिकल कोड क्षेत्र की सूचना |
| 11 | BeginThreadAffinity/EndThreadAffinity | होस्ट को थ्रेड एफिनिटी की सूचना |
| 12 | AllocateDataSlot/AllocateNamedDataSlot | नामित/अनाम डेटा स्लॉट आवंटित |
| 13 | FreeNamedDataSlot | नामित डेटा स्लॉट मुक्त |
| 14 | ResetAbort() | वर्तमान थ्रेड के लिए अबॉर्ट अनुरोध रद्द |
आम उपयोग पैटर्न
// थ्रेड बनाना और शुरू करना
Thread t = new Thread(() => {
// कार्य करें
});
t.Start();
// पूरा होने का इंतजार
t.Join();
// टाइमआउट के साथ इंतजार
t.Join(TimeSpan.FromSeconds(5));
// स्लीप
Thread.Sleep(1000); // 1 सेकंड
नोट:
Abort(),Suspend(),Resume()अप्रचलित/खतरनाक हैं- आधुनिक कोड में
Task,async/await,CancellationTokenका उपयोग करें