हमारे पास एक .NET एप्लिकेशन है जो विभिन्न वेब सेवाओं के लिए कई समवर्ती कॉल करता है, उनके जवाब एकत्र करता है और फिर उन प्रतिक्रियाओं से कुछ गणना करता है। अतिरिक्त प्रदर्शन प्राप्त करने के प्रयास में, मैं आईओ पूरा करने वाले बंदरगाहों के उपयोग के माध्यम से .NET के आईओ थ्रेडिंग का उपयोग करने वाले दृष्टिकोणों के उपयोग की जांच कर रहा हूं। मैंने विंडोज़ पर जो डफी की हाल की पुस्तक समवर्ती प्रोग्रामिंग समेत कई संसाधनों के माध्यम से पढ़ा है और जब मैं उनकी उपयोगिता प्राप्त करता हूं, तो मैं .NET के भीतर उनके व्यवहार के बारे में थोड़ा अस्पष्ट हूं और एक संक्षिप्त स्पष्टीकरण की तलाश में हूं।.NET आईओ थ्रेड या आईओ प्राप्ति बंदरगाहों का उपयोग कैसे करता है?
उत्तर
संभावना है कि अगर आप पहले से ही एसिंक्रोनस विधियों का उपयोग कर रहे हैं तो आपको कुछ भी करने की ज़रूरत नहीं है। वेब सेवा पर कॉल के लिए उपयोग की जाने वाली तकनीक के आधार पर, आखिरकार, यह नेटवर्क से बाइट प्राप्त करने के लिए कॉल करने के लिए Win32 API पर जा रहा है, और अंत में, यह I/O प्राप्ति का उपयोग करेगा एसिंक्रोनस कॉल को संभालने के लिए बंदरगाहों।
आई/ओ पूरा करने वाले बंदरगाहों के पीछे मूल आधार यह है कि I/O परिचालनों पर प्रतीक्षा करते समय, एक थ्रेड पूल होता है जो I/O संचालन पूर्ण होने पर प्रतीक्षा करता है (माना जाता है कि आप I/O पूरा करने के लिए पंजीकृत हैं पोर्ट)। जब आपका पंजीकृत ऑपरेशन पूरा हो जाता है, तो I/O पूर्णता पोर्ट थ्रेड पूल से थ्रेड कॉलबैक को संभालने के लिए उपयोग किया जाता है।
बेशक, I/O समापन बंदरगाह पर कॉल करने के बाद, आपका धागा अधिक काम करने के लिए आगे बढ़ सकता है, या समाप्त हो सकता है, पसंद आपके ऊपर है।
निम्नलिखित वर्णन मदद करनी चाहिए इसे और अधिक:
आई/ओ समापन बंदरगाहों:
http://msdn.microsoft.com/en-us/library/aa365198(VS.85).aspx
अंदर आई/ओ समापन बंदरगाहों (WayBack मशीन):
बिट के बारे में एक साझा पूल काम कर रहा है जबकि आईओ भूमि में आईओ बंद है, वही था जो मैं उम्मीद कर रहा था। स्पष्टीकरण के लिए धन्यवाद। –
- 1. आईओ
- 2. आईओ
- 3. आईओ
- 4. असीमित आईओ?
- 5. एसिंक्रोनस आईओ
- 6. आईओ मोनड
- 7. आईओ monads
- 8. हास्केल आईओ
- 9. "आलसी आईओ"?
- 10. आईओ 8
- 11. आईओ 7
- 12. आईओ-एपीआईसी-फास्टेई और आईओ-एपीआईसी-एज
- 13. I/O प्राप्ति बंदरगाहों के साथ HttpApi का उपयोग
- 14. आईओ प्रभाव
- 15. आईओ का अप्रत्याशित व्यवहार: एरलांग
- 16. छोटा कोड है जो आईओ
- 17. आईओ फ्रेमवर्क शुरू करने के लिए आईओ (प्रोग्रामिंग भाषा)
- 18. एसिंक्रोनस कॉल और एसिंक्रोनस आईओ कॉल के बीच अंतर .net
- 19. अक्का में ब्लॉकिंग आईओ
- 20. आईओ [[स्ट्रिंग]] कैसे फ़्लैट करें?
- 21. ब्लॉकिंग आईओ बनाम गैर-अवरुद्ध आईओ; अच्छे लेखों की तलाश
- 22. टेम्पलेट हास्केल और आईओ
- 23. हास्केल आईओ परीक्षण
- 24. ईयूनीट और आईओ: प्रारूप
- 25. हास्केल आईओ: वास्तविक प्रकार
- 26. हास्केल एक्सटेंसिबल आईओ अपवाद?
- 27. जावा फ़ाइल/आईओ एपीआई
- 28. आईओ टाइमआउट मान?
- 29. ज्ञापन आईओ समारोह?
- 30. बूस्ट Asio serial_port - आईओ
ब्याज की हो सकती है: http://marcgravell.blogspot.com/2009/02/async-without-pain.html –