2011-07-08 6 views

答えて

3

それはのmachine.configを介して制御されている持っています。

設定>のsystem.web> のprocessModelは

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

これは、CPUごとに設定されています。シングルCPUのデフォルトは20/20です。
http://msdn.microsoft.com/en-us/library/7w2sway1(v=VS.100).aspx

+0

その情報をありがとう、しかし、私はまだ私の質問の第2部分では、asp.netコードがいくつかのIOまたはデータベース操作をやっている場合に働いているスレッドがリリースされるかどうか混乱しています。 –

+1

'ThreadPool'はフレームワークによって管理されます。そのように、それがリリースされるときを予測するのは難しい。しかし、全体のアイデアは、あなたがそれを気にする必要はないということです。 – Mrchief

2

は、CPUあたり250件のワーカースレッド1000 I/O完了スレッド...

+0

あなたがGetMaxThreadsとSetMaxThreads方法を使用して、ワーカースレッドの制限を制御することができます... –

+2

あなたの源は何ですか? –

1

ワーカースレッドをI/O操作用に解放するには、async/awaitパターンを使用する必要があります。非同期ファイル操作を待機すると、スレッドはASP.NETスレッドプールに解放され、ファイルの入出力操作が完了するまで他の要求を処理するために使用されます。

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

関連する問題