2010-02-25 15 views

उत्तर

16

जावा थ्रेड को किसी भी तरीके से लागू किया जा सकता है जो विनिर्देश के अनुरूप है। विनिर्देश के लिए एक विशिष्ट कार्यान्वयन की आवश्यकता नहीं है।

प्रभावी रूप से सभी आधुनिक डेस्कटॉप और/या सर्वर JVMs जावा धागे को मूल धागे के रूप में कार्यान्वित करते हैं। इसका मतलब है कि प्रत्येक जावा थ्रेड के लिए बिल्कुल 1 मूल धागा है और ऑपरेटिंग सिस्टम सभी शेड्यूलिंग करता है, जैसा कि यह सी प्रोग्राम के लिए करता है, उदाहरण के लिए।

सीमित संसाधन वाले उपकरणों के लिए कुछ पुराने JVMs और संभवतः कुछ JVMs थ्रेड को ऐसे तरीके से कार्यान्वित कर सकते हैं जहां देशी धागे की संख्या चलने वाले जावा थ्रेड (या संभवतः 1) की संख्या से छोटी है। उन कार्यान्वयनों को तथाकथित "हरी धागे" लागू करने के लिए कहा जाता है। इस मामले में JVM स्वयं कार्य स्विचिंग और शेड्यूलिंग के लिए ज़िम्मेदार है, क्योंकि उस कार्य को ऑपरेटिंग सिस्टम को सौंपने के विरोध में।

+0

क्या कोई मुझे इसके लिए संदर्भ दे सकता है? –

+0

@espertus संदर्भ का स्रोत कोड हॉटस्पॉट JVM कार्यान्वयन http://openjdk.org पर पाया जा सकता है –

5

यह निश्चित रूप से जेवीएम के कार्यान्वयन पर निर्भर करता है, लेकिन मुझे लगता है कि वे वही हैं। यह है, जावा में एक थ्रेड मूल धागे के माध्यम से लागू किया जाता है। आप देशी धागे के साथ जावा थ्रेड के साथ सभी प्रकार की चीजों की अपेक्षा कर सकते हैं/कर सकते हैं।

0

जावा धागे और मूल धागे पूरी तरह से अलग हैं। मूल धागा अंतर्निहित प्लेटफॉर्म (ओएस) का हिस्सा है।

जावा थ्रेड्स समवर्ती समर्थन के लिए जावा भाषा की सुविधा में से एक हैं। जावा विनिर्देश नियंत्रण एपीआई और जावा धागे का कामकाज। आखिरकार जावा थ्रेड जावा प्रोग्राम के निष्पादन के दौरान मूल धागे में मैप किए जाएंगे। इसके अलावा जावा धागे को देशी धागे के साथ एक से एक मैप नहीं किया जाना चाहिए।

0

जावा थ्रेड (थ्रेड क्लास और रननेबल इंटरफ़ेस) मेमोरी-साझा अनुप्रयोगों में देशी धागे की तुलना में एक उच्च-स्तरीय API है। मैंने ओक्स और वोंग http://shop.oreilly.com/product/9780596007829.do द्वारा इस पुस्तक "जावा थ्रेड" की अनुशंसा की। रननेबल इंटरफेस को लागू करना सामान्य बात है, लेकिन यह आपके कोड स्कोप पर निर्भर करता है।

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