एक शर्मनाक प्रश्न: थ्रेड आईडी और थ्रेड हैंडल के बीच क्या अंतर है? दोनों की जरूरत क्यों है? क्या विंडोज और लिनक्स के बीच कोई अंतर है?थ्रेड आईडी बनाम थ्रेड हैंडल
उत्तर
लिनक्स की पाथ्रेड लाइब्रेरी, जहां तक मुझे पता है, थ्रेड हैंडल की अवधारणा नहीं है। pthread_create और अन्य pthreads फ़ंक्शन, थ्रेड आईडी लौटाएं।
विंडोज के तहत, थ्रेड हैंडल थ्रेड आईडी से अलग है, वैसे ही फ़ाइल संभाल फ़ाइल नाम से अलग है।
थ्रेड हैंडल एक टोकन है जो आपको थ्रेड के साथ कुछ करने की अनुमति देता है (आमतौर पर इसके लिए प्रतीक्षा करें या इसे मार दें)। Win32 में कई ऑब्जेक्ट्स के लिए ये टोकन हैं, और उन्हें सामान्य रूप से हैंडल कहते हैं।
टोकन अनिवार्य रूप से चलने वाले (या बंद) धागे पर एक सूचक है और इसके साथ जुड़े क्षमताओं का एक सेट है, उदाहरण के लिए, आपके पास एक हैंडल हो सकता है जो आपको प्रतीक्षा करने की अनुमति देता है, लेकिन एक धागा नहीं मारता है। इसी तरह, हमारे पास एक फ़ाइल हैंडल हो सकता है जो केवल पढ़ने के लिए है।
संकेत का यह स्तर उपयोगी हो सकता है या नहीं भी हो सकता है, लेकिन Win32 ऐसा करने का तरीका है, और यह व्यापक रूप से इस तरह के अनुरूप है कि यह किसी अन्य प्रकार की वस्तुओं को कैसे संभालता है।
थ्रेड आईडी प्रगतिशील हैं (यानी, एक के बाद एक), जिसे आप पार कर सकते हैं। विंडोज में अधिकांश हैंडल की तरह थ्रेड हैंडल वास्तव में पॉइंटर्स हैं। उदाहरण के लिए, थ्रेड हैंडल का उपयोग कर थ्रेड प्रॉपर्टी बिट्स सेट कर सकते हैं - लेकिन थ्रेड आईडी नहीं।
आईडी सिस्टम में चल रहे थ्रेड का अद्वितीय संख्यात्मक idetifier है। किसी भी कर्नेल ऑब्जेक्ट हैंडल की तरह थ्रेड हैंडल को कर्नेल ऑब्जेक्ट में संदर्भित पॉइंटर के विशेष प्रकार के संदर्भ के रूप में देखा जा सकता है।
अतः गिरी अंतरिक्ष में वहाँ आईडी के साथ प्रकार धागे की एक वस्तु है = 12345
और क्योंकि आप धागा आप मूल्य के साथ अपना पता एक threadid बुलाया अंतरिक्ष में एक सूचक है के साथ कुछ करना चाहता हूँ 44
कृपया ध्यान दें कि एक ही कर्नेल ऑब्जेक्ट के अलग-अलग हैंडल में अलग-अलग मान होते हैं (एक ऑब्जेक्ट पर दो पॉइंटर्स) और कर्नेल ऑब्जेक्ट्स एक से अधिक प्रक्रियाओं में हैंडल कर सकते हैं।
- 1. "लीकिंग" थ्रेड हैंडल
- 2. जावा थ्रेड बनाम ओएस थ्रेड
- 3. थ्रेड पूल बनाम थ्रेड स्पॉइंग
- 4. पृष्ठभूमिवर्कर बनाम पृष्ठभूमि थ्रेड
- 5. थ्रेड पूल बनाम कई व्यक्तिगत थ्रेड
- 6. क्या मुझे थ्रेड हैंडल() को थ्रेड हैंडल पर बंद करना चाहिए?
- 7. pthread_t से gdb थ्रेड आईडी
- 8. थ्रेड बनाम थ्रेडपूल
- 9. थ्रेड बनाम थ्रेडिंग
- 10. थ्रेड बनाम कोर
- 11. प्रोसेस बनाम थ्रेड
- 12. हैंडलर बनाम थ्रेड
- 13. Concurrency: प्रक्रिया बनाम थ्रेड
- 14. एसिंक्रोनस प्रतिनिधि बनाम थ्रेड
- 15. थ्रेड। स्टार्ट() बनाम BackgroundWorker
- 16. थ्रेड बनाम pthread perl
- 17. थ्रेड। स्टार्ट() बनाम ThreadPool.QueueUserWorkItem()
- 18. थ्रेड बनाम Async
- 19. थ्रेड पूल से थ्रेड आईडी कैसे प्राप्त करें?
- 20. CRITICAL_SECTION प्रकार के हैंडल का स्वामित्व थ्रेड सदस्य क्यों है, जब यह थ्रेड आईडी को इंगित कर रहा है?
- 21. डी भाषा - थ्रेड बनाम स्पॉन
- 22. PARTIAL_WAKE_LOCK बनाम SCREEN_DIM_WAKE_LOCK डाउनलोड थ्रेड
- 23. पृष्ठभूमि धागा बनाम यूआई थ्रेड
- 24. Asynchronous Delegates बनाम थ्रेड/थ्रेडपूल?
- 25. decaf threads बनाम बूस्ट थ्रेड बनाम omnithreads
- 26. प्रबंधित थ्रेड आईडी अद्वितीय नहीं है?
- 27. थ्रेड आईडी से थ्रेडनाम प्राप्त करें
- 28. tr1 :: बूस्ट :: थ्रेड :: आईडी के लिए हैश?
- 29. System.Timers.Timer/Threading.Timer बनाम थ्रेड लूप + थ्रेड के साथ थ्रेड। आवधिक कार्य के लिए नींद
- 30. थ्रेड