जावा के संदर्भ में हल्के वजन और भारी वजन धागे क्या हैं?भारी वजन और हल्के वजन धागे
उत्तर
अधिकांश प्रणालियों में हल्के वजन धागे आपके द्वारा लाइब्रेरी की मदद से बनाए गए सामान्य थ्रेड होते हैं, जैसे लिनक्स में p_threads।
भारी वजन, कुछ प्रणालियों में, सिस्टम वर्चुअल मेमोरी और एक जटिल संरचना के साथ, प्रक्रिया प्रदर्शन/आंकड़ों के बारे में जानकारी जैसे सिस्टम प्रक्रिया का संदर्भ लें।
अधिक जानकारी के लिए:
http://www.computerworld.com/s/article/66405/Processes_and_Threads
http://msdn.microsoft.com/en-us/library/ms684841(VS.85).aspx
यह "संदर्भ" की राशि एक धागा के साथ जुड़े, और फलस्वरूप समय की राशि यह एक "संदर्भ स्विच प्रदर्शन करने के लिए ले जाता है से संबंधित है "।
हेवीवेट धागे, (आमतौर पर कर्नेल/ओएस स्तर धागे) में बहुत सारे संदर्भ हैं (हार्डवेयर रजिस्ट्रार, कर्नेल स्टैक्स, आदि)। तो धागे के बीच स्विच करने में बहुत समय लगता है। हेवीवेट धागे पर भी प्रतिबंध हो सकते हैं, उदाहरण के लिए, कुछ ओएस पर, कर्नेल थ्रेड को पूर्व-खाली नहीं किया जा सकता है, जिसका अर्थ है कि जब तक वे नियंत्रण छोड़ नहीं देते हैं तब तक जबरन स्विच नहीं किया जा सकता है।
दूसरी ओर हल्के धागे (आमतौर पर, उपयोगकर्ता स्थान धागे) में बहुत कम संदर्भ होता है। (वे अनिवार्य रूप से वही हार्डवेयर संदर्भ साझा करते हैं), उन्हें केवल उपयोगकर्ता स्टैक के संदर्भ को स्टोर करने की आवश्यकता होती है, इसलिए हल्के धागे को स्विच करने का समय बहुत छोटा होता है।
अधिकांश ओएस पर, उपयोगकर्ता स्थान में प्रोग्रामर के रूप में आपके द्वारा बनाए गए किसी भी थ्रेड कर्नेल स्पेस थ्रेड की तुलना में हल्के वजन वाले होंगे। हेवीवेट और लाइटवेट की कोई औपचारिक परिभाषा नहीं है, यह कम संदर्भ वाले अधिक संदर्भ और धागे वाले धागे के बीच तुलना की तुलना में अधिक है। यह न भूलें कि प्रत्येक ओएस में धागे का अपना अलग-अलग कार्यान्वयन होता है, और भारी और हल्के धागे के बीच की रेखाएं स्पष्ट रूप से स्पष्ट रूप से परिभाषित नहीं होती हैं। कुछ प्रोग्रामिंग भाषाओं और ढांचे में, जब आप "थ्रेड" बनाते हैं तो आपको एक पूर्ण धागा भी नहीं मिल रहा है, तो हो सकता है कि आपको कुछ अमूर्तता मिल रही हो जो नीचे की धागे की वास्तविक संख्या को छुपाती है।
[कुछ OSes, धागे पता स्थान साझा करने की अनुमति तो धागे कि आम तौर पर काफी भारी हो सकता है, थोड़ा हैं लाइटर]
जावा मानक धागे Erlang धागे जो बहुत हल्का spawnable प्रक्रियाएं हैं की तुलना में काफी भारी है। Erlang एक वितरित परिमित राज्य मशीन का प्रदर्शन करता है। हालांकि एक उदाहरण के रूप में, http://kilim.malhar.net/, समेकन के अभिनेता मॉडल के आधार पर एक जावा एक्सटेंशन लाइब्रेरी, जावा में हल्के वजन धागे के लिए एक निर्माण का प्रस्ताव करती है। थ्रेड कार्यान्वयन रन() के बजाय, एक किलिम थ्रेड एक निष्पादन() विधि का उपयोग कर किलिम लाइब्रेरी से लागू होता है। स्पष्ट रूप से यह जावा के रनटाइम को एर्लांग (बाहरी इलाके में स्थानीय वातावरण AFAIK) से बेहतर प्रदर्शन करता है। जावा में वास्तव में 'हरी धागे' नामक मूल भाषा के नमूने में ऐसी चीजें थीं, लेकिन बाद के जावा संस्करणों ने उन्हें देशी धागे
- 1. WebRequest "HEAD" हल्के वजन विकल्प
- 2. पॉज़िक्स पाइप हल्के वजन वाले हैं?
- 3. कीबोर्ड अनुकूल हल्के वजन यूएमएल मॉडलिंग उपकरण?
- 4. आंतरिक कक्षाएं हल्के वजन वाले हैं?
- 5. .net Async और google के बीच मुख्य अंतर क्या है हल्के वजन धागे
- 6. हैंडलिंग वजन
- 7. सबसे अच्छा, हल्के वजन जेएसओएन/AJAX स्क्रिप्ट क्या है?
- 8. गिट कमांड सभी (हल्के वजन) टैग बनाने के लिए दिनांक
- 9. रैखिक लेआउट ऊंचाई और वजन
- 10. नकारात्मक वजन चक्र एल्गोरिदम
- 11. JgraphT में वजन दिखाएं
- 12. एंड्रॉयड लेआउट मुद्दा - वजन
- 13. Magento उत्पाद वजन इकाई
- 14. ड्रैग और ड्रॉप के लिए सबसे अच्छा हल्के वजन समाधान क्या हैं?
- 15. प्रकाश वजन HTTP सर्वर पुस्तकालय
- 16. वजन के साथ बेवकूफ ऐरे
- 17. नेस्टेड वजन से कैसे बचें?
- 18. जावा ऑब्जेक्ट्स को जारी रखने के लिए हल्के वजन वाले विकल्प क्या हैं
- 19. हल्के वजन (कोई रनटाइम) विकसित करना विंडोज़ आधारित जीयूआई अनुप्रयोगों का उपयोग मुफ्त उपकरण
- 20. जावा में नल से बचने के लिए अच्छे हल्के वजन वाले डिज़ाइन पैटर्न क्या हैं?
- 21. MATLAB में तंत्रिका नेटवर्क, शुरुआती वजन
- 22. शब्द वजन के साथ धुंधला स्ट्रिंग
- 23. ग्राफ़ में अधिकतम वजन का चक्र
- 24. सीएसएस फ़ॉन्ट वजन 900 से मोटा मोटा?
- 25. फॉन्ट/वजन शैली में एक पाठ जावास्क्रिप्ट
- 26. यादृच्छिक पावर-लॉ वितरित वजन वाले नेटवर्क
- 27. सरणी वजन के साथ numpy.bincount का उपयोग
- 28. UILabel (आईफोन एसडीके) में फ़ॉन्ट नाम और वजन बदलें
- 29. हीटमैप औसत वजन पर और डेटा बिंदुओं की संख्या
- 30. विंडोज पर एक ** हल्के वजन ** आईडीई है जिसका उपयोग सी और पर्ल दोनों के साथ किया जा सकता है?
@TFD - ओपी के केवल 4 प्रश्न पूछे, जवाब देने के लिए बहुत समय है। – ChrisF