2010-11-12 14 views
5

क्या उपयोगकर्ता-स्पेस थ्रेड या कर्नेल-स्पेस थ्रेड के आधार पर जावा और सी # थ्रेड हैं?जावा या सी # के थ्रेड उपयोगकर्ता-स्पेस थ्रेड या कर्नेल-स्पेस थ्रेड पर आधारित हैं?

+2

प्लेटफ़ॉर्म- और कार्यान्वयन-विशिष्ट। –

उत्तर

3

सी # में, धागे ओएस धागे हैं, या थ्रेड पूल द्वारा समर्थित हैं, जो ओएस थ्रेड्स से बना है। एक ओएस थ्रेड उपयोगकर्ता और कर्नेल संसाधन दोनों का उपयोग करता है।

+0

ध्यान दें कि .NET थ्रेड किसी भी समय किसी अन्य ओएस थ्रेड में स्थानांतरित होने के लिए स्वतंत्र हैं (हालांकि जावा के बारे में कोई विचार नहीं है)। यही कारण है कि केवल एक प्रबंधित थ्रेड आईडी है। – Cameron

2

लिनक्स में, मैं समझता हूं कि वे उपयोगकर्ता स्थान धागे हैं।

लिनक्स कर्नेल स्पेस थ्रेड ऑपरेटिंग सिस्टम का प्रभावी ढंग से हिस्सा हैं, और आम तौर पर उच्च विशेषाधिकार के साथ चलते हैं ताकि वे किसी भी प्रक्रिया के पता स्थान तक पहुंच सकें। कर्नेल-स्पेस थ्रेड का उपयोग कर लिनक्स पर जावा या सी # धागे को कार्यान्वित करना अनावश्यक है, और यह बेहद खतरनाक होगा। (यह मानता है कि यह तकनीकी रूप से संभव है ... जो मुझे नहीं लगता है।)

+0

मुझे लगता है कि पोस्टर यह पूछ रहा है कि प्रत्येक जावा/.NET थ्रेड अपने स्वयं के कर्नेल-दृश्य थ्रेड (यानी कर्नेल-स्पेस थ्रेड) है या यदि कई जावा/.NET थ्रेड्स का उपयोग स्पेस-स्पेस द्वारा किया गया है तो एक कर्नेल-दृश्य का उपयोग करना है धागा (यानी उपयोगकर्ता-अंतरिक्ष थ्रेड, या * हल्के धागे *)। – Karmastan

+1

@ कर्मस्तन - यदि उसने किया, तो उसने गलत शब्दावली का उपयोग किया। लिनक्स में वास्तव में कर्नेल * स्पेस * धागे हैं; यानी धागे जो भौतिक उपकरणों तक पहुंच के साथ चलते हैं आदि। –

संबंधित मुद्दे