2009-11-22 18 views
11

मैं उत्सुक हूं कि .NET प्रॉपर्टी Environment.ProcessorCount वास्तव में क्या लौटाता है। क्या यह कोर की संख्या, प्रोसेसर की संख्या या दोनों लौटाता है? अगर मेरे कंप्यूटर में 2 प्रोसेसर थे, प्रत्येक 4 कोर के साथ, Environment.ProcessorCount रिटर्न 2, 4, या 8 होगा?पर्यावरण के बारे में प्रश्न। प्रोसेसर काउंटर

+2

देखें http://stackoverflow.com/questions/188503/detecting-the-number-of-processors – adrianbanks

उत्तर

15

यह NUMBER_OF_PROCESSORS पर्यावरण चर वापस करेगा। (MSDN देखें)

यह लॉजिकल कोर की संख्या के बराबर होगा - यानी अगर आप एक एचटी सक्षम सिंगल कोर प्रोसेसर है, यह वापस आ जाएगी 2.

आपके मामले में, इसे वापस चाहिए 8.

यह कार्य प्रबंधक में दिखाई देने वाले CPU उपयोग ग्राफ़ की संख्या के समान होगा।

+0

यह पूरी तरह से झूठा है। यदि आप पर्यावरण चर बदलते हैं और फिर एक ही वातावरण से एक ऐप शुरू करते हैं जैसे आप चर बदलते हैं, तो आपको अभी भी लॉजिकल प्रोसेसर की वास्तविक संख्या मिल जाएगी। एक साइड नोट के रूप में: यह उन कुछ मामलों में हमेशा सत्य नहीं होता है जिन्हें मैं वास्तव में ढूंढ रहा हूं - हाइपर थ्रेडिंग से संबंधित (पर्यावरण। प्रोसेसर काउंटर हमारे पास एक सर्वर पर हाइपर थ्रेडिंग नहीं लेता है)। –

+0

मैं जल्दी था। मैं पूर्ववत करने की कोशिश करता हूं लेकिन मैं नहीं कर सकता। मैंने एमएसडीएन में जानकारी नहीं देखी है और वास्तव में जब मैंने चेक किया तो वहां नहीं था। लेकिन मुझे एक घंटे बाद एहसास हुआ कि यह फ्रेमवर्क के संस्करण 4.0 के लिए था लेकिन आपका लिंक शायद 4.5 पर स्वचालित रूप से रीडायरेक्ट हो गया था। मैं पूर्ववत नहीं कर सकता! –

4

यह तर्क प्रोसेसर की संख्या देता है, इसलिए आपके उदाहरण में 8।

0

तो अपने कंप्यूटर 2 प्रोसेसर, प्रत्येक 4 कोर के साथ, था होगा Environment.ProcessorCount वापसी 2, 4, या 8?

यह मेरे मामले में वैसे भी 8 लौटाता है। (कोर i7 860 सीपीयू)।

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