2008-09-26 19 views

उत्तर

24

मूल रूप से बहुत कुछ नहीं, यह एएसपी.नेट और आईआईएस आवंटित I/O ऑब्जेक्ट्स का इंतजार कैसे करता है और नेटवर्क पर संचार करने और डेटा स्थानांतरित करने की विवाद और विलंबता का प्रबंधन करता है।

आई/ओ धागे इस तरह से अलग किए गए हैं क्योंकि वे I/O (जैसा कि नाम का तात्पर्य है) कर रहे हैं और उन्हें "लंबी" अवधि (सैकड़ों मिलीसेकंड) के लिए इंतजार करना पड़ सकता है। विंडोज कर्नेल में I/O पूर्णता पोर्ट कार्यक्षमता का लाभ उठाने के लिए उन्हें अनुकूलित और अलग-अलग उपयोग किया जा सकता है। थ्रूपुट बनाए रखने के लिए एक एकल I/O थ्रेड एकाधिक समापन बंदरगाहों का प्रबंधन कर सकता है।

विंडोज़ में आई/ओ अवरोध से निपटने के लिए बहुत सी क्षमताएं हैं जबकि एएसपी.नेट/एनईटी की "थ्रेड" की एक सादा अवधारणा है। एएसपी.NET ओएस में अधिक अप्रबंधित थ्रेडिंग क्षमताओं का उपयोग करके I/O के लिए अनुकूलित कर सकता है। आप हर थ्रेड के लिए हर समय ऐसा नहीं करना चाहते हैं क्योंकि आप बहुत सारी क्षमताओं को खो देते हैं जो .NET आपको देता है, यही कारण है कि धागे का उपयोग करने के इरादे के बीच एक अंतर है।

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

[संपादित करें]: मैं भी इस लिंक जो विशेष रूप से इस सवाल के लिए प्रासंगिक है पाया: http://blogs.msdn.com/ericeil/archive/2008/06/20/windows-i-o-threads-vs-managed-i-o-threads.aspx

10

बस chadmyers करने पर जोड़ने के लिए ... लगता है जैसे मैं/हे धागे पुराना तरीका ASP.NET था सेवित अनुरोध,

"आईआईएस 5.0 में अनुरोध आम तौर पर कर रहे हैं सेवित आई/ओ सूत्र, या धागे से अधिक अतुल्यकालिक मैं/हे प्रदर्शन क्योंकि अनुरोध अतुल्यकालिक लिखने का उपयोग कर कार्यकर्ता प्रक्रिया के लिए भेज दिया जाता है एस नामित पाइप। "

आईआईएस 6.0 के साथ यह बदल गया है।

"इस प्रकार सभी अनुरोधों को अब कार्यकर्ता धागे CLR थ्रेड पूल से और मैं/हे धागे पर कभी नहीं तैयार की सेवा उपलब्ध है।"

स्रोत: http://msdn.microsoft.com/hi-in/magazine/cc164128(en-us).aspx

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