2011-07-08 11 views
5

में उपलब्ध थ्रेड की अधिकतम संख्या क्या है जिज्ञासा से बाहर, asp.net में अनुरोध को संभालने के लिए उपलब्ध थ्रेड की अधिकतम संख्या क्या है।Asp.net ThreadPool

और क्या एएसपीनेट उन्हें किसी भी I/O या डेटाबेस संचालन के लिए रिलीज़ करता है ताकि अधिकतम अनुरोधों को संभाला जा सके?

उत्तर

3

यह machine.config के माध्यम से नियंत्रित किया जाता है है।

विन्यास> system.web> processModel

<processModel 
    maxWorkerThreads="num" 
    maxIoThreads="num" 
    minWorkerThreads="num" 
    minIoThreads="num" 
    ... 
    /> 

यह एक प्रति सीपीयू आधार पर स्थापित किया जाएगा। सिंगल सीपीयू के लिए डिफ़ॉल्ट 20/20 है।
http://msdn.microsoft.com/en-us/library/7w2sway1(v=VS.100).aspx

+0

उस जानकारी के लिए धन्यवाद, लेकिन मैं अभी भी अपने प्रश्न के दूसरे भाग पर उलझन में हूं कि क्या काम धागा जारी किया गया है यदि एएसपीनेट कोड कुछ आईओ या डेटाबेस ऑपरेशन करने में व्यस्त है। –

+1

'थ्रेडपूल' ढांचे द्वारा प्रबंधित किया जाता है। इस प्रकार, यह अनुमान लगाने में मुश्किल है कि इसे कब जारी किया जाएगा। लेकिन फिर, पूरा विचार यह है कि आपको इससे परेशान नहीं होना चाहिए। – Mrchief

2

.net 4.0 में यह सीपीयू प्रति 250 कार्यकर्ता धागे और 1000 I/O पूर्णता धागे ...

+0

आप GetMaxThreads और SetMaxThreads पद्धति का उपयोग करके कार्यकर्ता थ्रेड की सीमा को नियंत्रित कर सकते हैं ... –

+2

अपने स्रोत क्या है? –

1

I/O संचालन के लिए कार्यकर्ता थ्रेड जारी करने के लिए, आप async/प्रतीक्षा पैटर्न का उपयोग करना चाहेंगे। जब आप एसिंक फ़ाइल ऑपरेशन का "इंतजार" करते हैं, तो थ्रेड को एएसपी.नेट थ्रेड पूल पर वापस छोड़ दिया जाएगा, जिसका उपयोग तब तक अन्य अनुरोधों को संसाधित करने के लिए किया जाता है जब तक कि आपकी फ़ाइल i/o ऑपरेशन पूर्ण नहीं हो जाता।

http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4