मुझे आश्चर्य है कि क्या होता है जब एसिंक कॉल के परिणाम को संभालने के लिए कोई आईओ थ्रेड नहीं होता है।क्या होता है यदि एसिंक परिणाम को संभालने के लिए कोई आईओ थ्रेड नहीं है?
कहें कि आप एक एसिंक वेब अनुरोध करते हैं (सर्वर अनुप्रयोग में सभी थिंक पूल द्वारा एसिंक कोड को संभाला जाता है)। जब आपके लिए नतीजा होता है तो ओएस संकेत देगा और जब आपको सॉकेट से बाइट पढ़ने के लिए आईओ थ्रेड की आवश्यकता होगी। यदि कोई आईओ थ्रेड उपलब्ध नहीं है क्योंकि यह सभी उपयोग में हैं (थ्रेड पूल द्वारा अधिकतम सेट तक सभी अर्थ) क्या होता है? क्या कोई कतार है जहां सिग्नल इंतजार कर सकता है जब तक कोई धागा उपलब्ध न हो? या सिग्नल सिर्फ अनसुना हो जाता है? यदि उत्तरार्द्ध होता है, तो प्रतीक्षा के इंतजार में कोड का क्या होता है?
सामान्य बात यह होती है कि जब आप कंप्यूटर से बहुत सी चीजें करने के लिए कहते हैं तो यह धीमा हो जाता है। यह बहुत गहराई से दफनाया गया है और वास्तव में सीएलआर का हिस्सा नहीं है, [IHostIOCompletionManager इंटरफेस] (https://msdn.microsoft.com/en-us/library/ms164490 (v = vs.110) .aspx) काम पूरा हो जाता है । आप किस मेजबान का उपयोग करते हैं इस पर निर्भर करता है। प्रैक्टिस में यह आमतौर पर यह मानना सुरक्षित है कि * समापनपोर्ट थ्रेड्स * सेटमैक्स थ्रेड्स() को तर्क पूरी तरह अनदेखा कर दिया गया है और समवर्ती * निष्पादन * (लंबित नहीं) की अधिकतम संख्या प्रोसेसर कोर की संख्या के बराबर होती है। –