2012-02-22 11 views
6

最も基本的な "Hello、World!" .NET2.0向けにコンパイルされたアプリケーションでは、3つのスレッド(Main、GC、Finalizer)が表示されます。しかし、.NET4.0のビルドでは、同じ基本アプリケーションを使用すると最大4つの数になります。誰かが余分なスレッドが何であるか知っていますか?"Hello world"アプリケーションは.NET4.0では4スレッドを使用しますが、.NET2.0では3スレッドを使用します

+0

実行中のアプリは何ですか? IIS、カッシーニなど? –

+0

どのようなアプリですか?コンソールは? – SandRock

+4

'main'内に単一の' Console.ReadLine() 'があるベアボーンコンソールアプリケーションを作成してデバッグすると、7つのスレッドが表示されます。他の人があなたが見ているものを見ることができるように(またはあなた自身で違いを解決できるように)、短くて完全なウォークスルーを作成する必要があります。 –

答えて

0

スレッドプールは、デフォルトでのアイドル状態のスレッドを保持します。これは、.NET4MSDN points it)以降です。 番号がどのように指定されているかわかりませんが(SetMinThreadsで変更することはできますが)、おそらくisntです。

このdotNetPerlsの記事では、マシン上のコア数にも依存していることが示唆されています(意味があります)。

両方のCLRでThreadPool.GetMinThreads()を印刷するには、マシン/特定のプログラムでテストできます。

関連する問題