2011-04-08 16 views
7

मैंने पढ़ा है कि एक बहु कोर प्रोसेसर में प्रत्येक कोर में 2 हार्डवेयर धागे होते हैं उदाहरण के लिए दोहरी कोर प्रोसेसर 4 हार्डवेयर थ्रेड चल रहे हैं। अब अगर मैं जावा में 2 धागे बनाते हैं तो वे थ्रेड 2 हार्डवेयर धागे के साथ मैप करने जा रहे हैं या उन 2 जावा धागे को किसी विशेष कोर के एकल हार्डवेयर थ्रेड द्वारा निष्पादित किया जाता है?हार्डवेयर धागे बनाम मुलायम धागे?

+0

ओएस प्रोसेसर में धागे वितरित करने के लिए ज़िम्मेदार है; यदि आपके धागे बहुत सारे काम कर रहे हैं, तो ओएस शायद उन्हें विभिन्न सीपीयू पर रखेगा। – Blorgbeard

+0

इसी प्रकार क्यू: http://stackoverflow.com/questions/508301/on-which-operationg- सिस्टम-is-threaded-programming- कुशल-to-utilize- कई अलग-अलग – Blorgbeard

उत्तर

3

यह बहुत सी चीजों पर निर्भर है, हालांकि प्रति कोर 2 हार्डवेयर थ्रेड जिन्हें आप संदर्भित कर रहे हैं वह इंटेल हाइपर थ्रेडिंग तकनीक है। यह तकनीक सीपीयू को स्मृति में दो थ्रेड संदर्भों को सक्षम करने और निष्पादन संसाधनों को साझा करने के साथ-साथ निष्पादित करने में सक्षम बनाती है।

ओएस कार्यान्वयन पर निर्भर थ्रेड कहां चलते हैं और ज्यादातर आपके ओएस के थ्रेड शेड्यूलर एल्गोरिदम द्वारा हल किए जाते हैं।

+0

लेकिन क्या यह सॉफ्टवेयर थ्रेड और जावा थ्रेड और हार्डवेयर थ्रेड हैं निर्भर या अनिवार्य हैं? क्योंकि जावा थ्रेडस जेवीएम नामक प्रक्रिया के अंदर बनाए जाते हैं ... – Bhadri

+1

इंटेल के हाइपर-थ्रेडिंग का यह विवरण सटीक नहीं है। * कुछ * संसाधन वैकल्पिक रूप से एक या दूसरे धागे को प्रदान किए जाते हैं, लेकिन * निष्पादन इकाइयां साझा की जाती हैं * और दोनों थ्रेड एक ही समय में वास्तविक कार्य हो रहे हैं। बेशक संसाधनों के लिए कम से कम विवाद होता है जब एक धागा रुक जाता है। [यहां अधिक (पीडीएफ)] (http://www.intel.com/technology/itj/2002/volume06issue01/vol6iss1_hyper_threading_technology.pdf)। – rlibby

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