2011-07-08 14 views
5

için mevcut maksimum iş parçacıkları sayısı nedir? Yalnızca meraktan değil, asp.net'de istek ele alınması için kullanılabilen maksimum ileti sayısı nedir.Asp.net ThreadPool

Ve asp.net bunları herhangi bir G/Ç veya veritabanı işlemi için serbest bırakır, böylece maksimum sayıda istek ele alınabilir mi? .NET 4.0

cevap

3

Bu machine.config ile kontrol edilir sahiptir.

yapılandırma> system.web> processmodel

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

Bir CPU bazında ayarlanır. Tek CPU için varsayılan 20/20'dur. http://msdn.microsoft.com/en-us/library/7w2sway1(v=VS.100).aspx

+0

Bu bilgi için teşekkürler, Ama ben hala soru sormak ikinci kısmı üzerinde asp.net kod meşgul bazı IO veya veritabanı işlemi yapıyor meşgul eğer iş parçacığı serbest bırakılıp bırakılmamış olduğunu düşünüyorum. –

+1

'ThreadPool 'çerçeve tarafından yönetiliyor. Bu nedenle, ne zaman yayınlanacağını tahmin etmek zor. Ama sonra, tüm fikir onunla uğraşmak zorunda olmamak. – Mrchief

2

CPU 250 işçi lifler ve 1.000 g/O tamamlama ipler ...

+0

Sen GetMaxThreads ve SetMaxThreads yöntemi kullanarak işçi Konu sınırını kontrol edebilirsiniz ... –

+2

kaynak nedir? –

1

I/O işlemlerinde çalışan iş parçacıklarını serbest bırakmak için, async/await modelini kullanmak isteyeceksiniz. Zaman uyumsuz bir dosya işlemi beklediğinizde, iş parçacığı, dosya i/o işlemi tamamlanıncaya kadar diğer istekleri işlemek için kullanılan ASP.NET iş parçacığı havuzuna geri bırakılır.

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