उदाहरण के लिए थ्रेड डीबग करते समय C # में, आप प्रत्येक थ्रेड की आईडी देख सकते हैं।
यह प्रबंधित थ्रेड्स के Ids होंगे। ManagedThreadId
का एक सदस्य है Thread
तो आप किसी भी थ्रेड ऑब्जेक्ट से आईडी प्राप्त कर सकते हैं । यह आपको वर्तमान ManagedThreadID मिलेगा :
Thread.CurrentThread.ManagedThreadId
इसके द्वारा OS थ्रेड प्राप्त करने के लिए OS थ्रेड आईडी (ManagedThreadID नहीं) , आप थोड़ा सा linq आज़मा सकते हैं।
int unmanagedId = 2345;
ProcessThread myThread = (from ProcessThread entry in Process.GetCurrentProcess().Threads
where entry.Id == unmanagedId
select entry).First();
ऐसा लगता है कि प्रबंधित थ्रेड्स को एन्यूमरेट करने का कोई तरीका नहीं है और ProcessThread और Thread के बीच कोई संबंध नहीं है, इसलिए Id द्वारा प्रबंधित थ्रेड प्राप्त करना एक कठिन है।
प्रबंधित बनाम अप्रबंधित सूत्रण के बारे में अधिक जानकारी के लिए यह MSDN आर्कटिक देखें ।