.net कहत आईओ थ्रेड्स या आईओ समापन बंदरगाहों का कैसे उपयोग करता है?



मुंबई बंदरगाह (1)

हमारे पास एक। NET अनुप्रयोग है जो विभिन्न वेब सेवाओं के लिए कई समवर्ती कॉल करता है, उनके जवाब एकत्र करता है और फिर उन प्रतिक्रियाओं से कुछ गणना करता है। अतिरिक्त प्रदर्शन प्राप्त करने के प्रयास में, मैं उन दृष्टिकोणों के उपयोग की जांच कर रहा हूं जो आईओ पूर्णता पोर्टों के उपयोग के माध्यम से। NET के आईओ थ्रेडिंग का उपयोग करते हैं। मैंने जो डफी की हाल की किताब समवर्ती प्रोग्रामिंग पर विंडोज सहित कई संसाधनों के माध्यम से पढ़ा है और जब मैं उनकी उपयोगिता "प्राप्त" करता हूं, तो मैं उनके व्यवहार के लिए थोड़ा सा अस्पष्ट हूँ। नेट और एक संक्षिप्त विवरण की तलाश कर रहा हूं।


संभावना है कि अगर आप पहले से ही अतुल्यकालिक विधियों का उपयोग कर रहे हैं तो आपको कुछ भी करने की ज़रूरत नहीं है जिस तकनीक पर आप वेब सेवा को कॉल करने के लिए उपयोग कर रहे हैं, उसके आधार पर, अंततः, यह नेटवर्क से बाइट प्राप्त करने के लिए कॉल करने के लिए, Win32 एपीआई में ड्रॉप करने जा रहा है, और यह अंत में, यह I / O समापन का उपयोग करेगा एसिंक्रोनस कॉल को संभालने के लिए पोर्ट्स

I / O समाप्ति पोर्ट के पीछे मूल आधार यह है कि जब I / O परिचालन पर प्रतीक्षा करते समय, एक थ्रेड पूल है जो I / O परिचालनों के पूरा होने के लिए इंतजार कर रहा है (I / O पूर्णण पोर्टों का उपयोग करने के लिए पंजीकृत माना जाता है)। जब आपका पंजीकृत ऑपरेशन पूरा हो जाता है, तो थ्रेड I / O पूर्णांक पोर्ट थ्रेड पूल से कॉलबैक को संभालने के लिए उपयोग किया जाता है।

बेशक, I / O पूर्णता पोर्ट को कॉल करने के बाद, आपका धागा अधिक काम करने के लिए आगे बढ़ सकता है, या समाप्त कर सकता है, विकल्प आप पर निर्भर है।

निम्नलिखित इसे और अधिक वर्णन करने में मदद करनी चाहिए:

आई / ओ समापन बंदरगाह:

http://msdn.microsoft.com/en-us/library/aa365198(VS.85).aspx

आई / ओ समापन बंदरगाहों के अंदर (वेपैक मशीन):

https://web.archive.org/web/20101101112358/http://doc.sch130.nsc.ru/www.sysinternals.com/ntw2k/info/comport.shtml





concurrency