2012-07-17 18 views
9

तो मैं "सी # के माध्यम से सीएलआर" पढ़ रहा था और यह लाइन "एक थ्रेड एक विंडोज अवधारणा है जिसका काम सीपीयू वर्चुअलाइज करना है"। वास्तव में? मूल रूप से विंडोज से एकल \ बहु धागा था?

औचित्य के लिए गुगलिंग ने मदद नहीं की और इसलिए समुदाय से सहायता मांगी।धागा एक विंडोज अवधारणा है?

+1

मुझे लगता है कि पुस्तक का अर्थ क्या है कि थ्रेड विंडोज कर्नेल द्वारा प्रबंधित किए जाते हैं, न कि .NET रनटाइम। – MattDavey

+2

मुझे लगता है कि यह प्रश्न प्रोग्रामर पर है, लेकिन फिर, मैं कौन हूं। आप प्रोग्रामर को आगे बढ़ने के लिए भी वोट नहीं दे सकते। –

+1

यह समझने में एक आसान गलती है। तकनीकी रूप से, एक थ्रेड एक ऑपरेटिंग सिस्टम-स्तरीय अवधारणा है। ओ/एस धागे का प्रबंधन करता है। सी # के संदर्भ में, अधिकांश मामलों में, (मोनो नहीं सामना कर रहा है), ओ/एस विंडोज होगा, इसलिए इस संदर्भ में, आमतौर पर यह विंडोज-स्तरीय अवधारणा है। एक सामान्य, गैर-तकनीकी स्पष्टीकरण के रूप में लिया गया है कि यह क्या धागा है, यह समझ में आता है। यह तकनीकी रूप से सटीक नहीं है, लेकिन आपकी औसत नौसिखिया भेद के बारे में जानना या देखभाल नहीं करना है। – David

उत्तर

6

संक्षिप्त उत्तर: नहीं, यह पूरी तरह से एक विंडोज अवधारणा नहीं है, और अवधारणा काफी लंबे समय से आसपास रही है।

10

मुझे लगता है कि वास्तव में लेखक का क्या अर्थ है कि एक तंत्र के रूप में थ्रेडिंग कुछ ऐसा है जो विंडोज द्वारा प्रबंधित किया जा रहा है और .NET Framework नहीं।

+0

जिस तरह से गलत तरीके से गलत है, .NET थ्रेड ओएस थ्रेड्स पर मैप नहीं करते हैं, वे एक थ्रेड साझा कर सकते हैं और दृश्यों के पीछे अधिक हल्के वजन फाइबर भी स्विच कर सकते हैं। वे वास्तव में एक .NET चीज हैं। – Blindy

+2

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

+0

मैं अब सहमत हूं कि सीएलआर धागे ओएस थ्रेड्स पर मैप करते हैं, लेकिन अंगूर यह बताता है कि यह भविष्य में बदल सकता है (या पहले से ही 4.5 या 5.0 में हो सकता है)। –

1

मेरा मानना ​​है कि अमिगा में पहले से ही बहुसंख्यक था। क्या यह हो सकता है कि टेक्स्ट उस मल्टीथ्रेडिंग को संदर्भित करता है (भी) एक विंडोज अवधारणा है, लेकिन यह नहीं कि यह मूल रूप से एक विंडोज आविष्कार है?

2

मैं कहूंगा कि जब हम विंडोज़ पर "थ्रेडिंग" के बारे में बात करते हैं तो साझा स्मृति और कार्यान्वयन के बारे में एक निश्चित धारणा होती है। जब तक मैं विंडोज प्रोग्रामिंग (एम्बेडेड प्रोग्रामिंग के विपरीत) में नहीं जाता तब तक मैंने वास्तव में "थ्रेड" शब्द कभी नहीं सुना। मैं मल्टीप्रोसेसिंग और मल्टीटास्किंग से ज्यादा परिचित था। तो अवधारणा अद्वितीय नहीं थी लेकिन शब्दावली बदल गई हो सकती है। मैं विंडोज से पहले अपने अनुभव में इंगित करता हूं, कई प्रक्रियाओं ने स्मृति को तब तक साझा नहीं किया जब तक यह वैश्विक नहीं था।

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