कहें, अगर मेरे पास थ्रेड आईडी है, तो क्या मुझे आश्वासन दिया जा सकता है कि यह प्रति प्रक्रिया या पूरे ओएस (उपयोगकर्ताओं में लॉग इन के बीच) के लिए अद्वितीय होगा (जब तक थ्रेड चल रहा है)?क्या थ्रेड आईडी प्रति प्रक्रिया या प्रति कंप्यूटर अद्वितीय हैं?
उत्तर
हाँ, विंडोज़ पर थ्रेड आईडी और प्रोसेस आईडी को उसी पूल से आवंटित किया जाता है, इसलिए वे अद्वितीय होंगे। एक बार थ्रेड या प्रक्रिया समाप्त होने के बाद, आईडी को किसी अन्य थ्रेड या प्रक्रिया द्वारा दोबारा उपयोग किया जा सकता है।
हाँ, धन्यवाद। मुझे पता है कि पीआईडी अद्वितीय हैं। मुझे थ्रेड आईडी के बारे में निश्चित नहीं था। – c00000fd
क्या आप अपने उत्तर का विस्तार करने के लिए विस्तार कर सकते हैं कि कितनी बार थ्रेड आईडी या प्रोसेस आईडी रीसाइक्ल हो जाते हैं? –
@ क्रिस्टोफरऑज़बेक जैसे ही कर्नेल ऑब्जेक्ट बंद हो जाता है, इसकी आईडी का पुन: उपयोग किया जा सकता है। तो निम्नलिखित पूरी तरह से संभव है: 'hThread1 = CreateThread (... &tid1); CloseHandle (hThread1); hThread2 = CreateThread (... &tid2); // tid1 == tid2, यहां तक कि hThread1 == hThread2' हालांकि वे अब एक अलग कर्नेल का संदर्भ लेते हैं ऑब्जेक्ट। – parrowdice
एक थ्रेड को कर्नेल ऑब्जेक्ट द्वारा दर्शाया गया है उदा। विंडोज मंच पर। इसलिए यह आईडी सभी लॉगऑन सत्रों में सभी प्रक्रियाओं में अद्वितीय होगी। हालांकि थ्रेड कर्नेल ऑब्जेक्ट बंद होने के बाद थ्रेड आईडी को पुनर्नवीनीकरण किया जा सकता है।
GetCurrentThreadId चलते समय अद्वितीय आईडी के बारे में भी स्पष्ट रूप से कहता है।
धन्यवाद। थ्रेड आईडी रीसाइक्लिंग के खिलाफ सुरक्षा के लिए (अगर थ्रेड और उसके हैंडल को बंद किया जा सकता है, तो इस थ्रेड आईडी को ट्रैक किया जा सकता है) कोई इसे थ्रेड सृजन FILETIME के साथ जोड़ सकता है, जिसे GetThreadTimes() API के साथ प्राप्त किया जा सकता है। – c00000fd
@ user843732 : सही तरीके से हो गया, हां आप कर सकते हैं। मैं उस तकनीक का उपयोग यह जांचने के लिए करता हूं कि किसी प्रक्रिया के माता-पिता पीआईडी ने अपनी मूल प्रक्रिया बनाम एक प्रक्रिया को इंगित किया है जिसने अपने माता-पिता के पीआईडी को पुनर्नवीनीकरण किया है। – parrowdice
@parrowdice: एक अनुवर्ती प्रश्न, दोस्तों। GetThreadTimes() एपीआई द्वारा लौटाई गई 'FILETIME' समय में कोई टाइमर-संबंधित "जिटर" नहीं है, क्या यह है? दस्तावेज़ों का दावा है कि थ्रेड सृजन का मूल्य "100-नैनोसेकंड टी" में व्यक्त किया गया है ime इकाइयों "जो एक भयानक सटीक है! यह आंतरिक टाइमर को उस एपीआई के अलग-अलग कॉल के लिए इसे शुरू करने का कारण नहीं देगा, है ना? – c00000fd
- 1. प्रति थ्रेड प्रति प्रक्रिया समय मात्रा
- 2. स्थिर उपयोगकर्ता प्रति उपयोगकर्ता अद्वितीय हैं?
- 3. प्रति उपयोगकर्ता या प्रति मशीन
- 4. प्रति थ्रेड एक SQLiteConnection?
- 5. अंतिम आवेदन धागा का दायरा क्या है - प्रति आवेदन डोमेन या प्रति प्रक्रिया?
- 6. प्रति-थ्रेड आंकड़े
- 7. ServletContext प्रति वेब-ऐप या प्रति JVM प्रति एक है?
- 8. समाधान: प्रति आवेदन, या प्रति आवेदन सूट
- 9. प्रति तालिका एक प्रति या एक कार्यात्मक खंड प्रति एक?
- 10. क्या किसी को प्रति थ्रेड या प्रति प्रक्रिया क्रमशः बीज को srand() सी फ़ंक्शन कॉल करने की आवश्यकता है?
- 11. प्रति दृश्य या प्रति मॉडल ViewModel?
- 12. iis7 प्रति कार्य प्रक्रिया के थ्रेड/समवर्ती अनुरोधों की संख्या
- 13. प्रति प्रक्रिया/सेवा iptables नियम
- 14. स्वचालित रूप से प्रति-थ्रेड या प्रति-अनुरोध लाइफटाइम स्कोप्स का चयन करें
- 15. इंटेल एमएसआर आवृत्ति स्केलिंग प्रति थ्रेड
- 16. प्रति फ़ाइल या प्रति एक्सटेंशन आधार पर एन्कोडिंग बदलें
- 17. जावा थ्रेड प्रति कनेक्शन मॉडल बनाम एनआईओ
- 18. एसवीएन प्रोजेक्ट (एस) संगठन: प्रति-मॉड्यूल या प्रति-प्रोजेक्ट
- 19. ओब्जे-सी में प्रति-प्रक्रिया नेटवर्क मॉनीटर?
- 20. प्रति प्रोसेसर
- 21. एपीआई कॉल, प्रति मिनट/प्रति घंटा
- 22. धागा या थ्रेडसेफ डीएओ प्रति एक डीएओ?
- 23. प्रति प्रक्रिया भौतिक स्मृति सीमित करें
- 24. एंड्रॉइड: केवल एक लूपर प्रति थ्रेड
- 25. सत्र-प्रति-वार्तालाप के क्या फायदे हैं?
- 26. प्रबंधित थ्रेड आईडी अद्वितीय नहीं है?
- 27. .NET एप्लिकेशन प्रति मशीन/प्रति-उपयोगकर्ता लाइसेंसिंग
- 28. ट्रैकिंग प्रक्रिया सीपीयू और मेमोरी उपयोग प्रति प्रक्रिया
- 29. एएनटी प्रति
- 30. प्रति बाल्टी
एक बार जब आप जानते हैं कि एक थ्रेड अपने जीवनकाल के दौरान अलग-अलग कोर/प्रोसेसर पर चल सकता है और आईडी उस समय के दौरान स्थिर रहेगी, तो आप स्वयं को जवाब घटा सकते हैं ;-) –