13
Concurrency Analyzerを見ると、Threadsビューは私のアプリケーションでは思ったよりはるかに多くのスレッドを生成します。これらのほとんどは「CLRワーカースレッド」または「ワーカースレッド」のいずれかです。CLRワーカースレッドとワーカースレッドの違いは何ですか?
違いは何ですか?どのような状況下で作成されますか?
Concurrency Analyzerを見ると、Threadsビューは私のアプリケーションでは思ったよりはるかに多くのスレッドを生成します。これらのほとんどは「CLRワーカースレッド」または「ワーカースレッド」のいずれかです。CLRワーカースレッドとワーカースレッドの違いは何ですか?
違いは何ですか?どのような状況下で作成されますか?
同時実行ビジュアライザーはかなり新しいが、本当にクールです! - アプリケーションのメインスレッドによって作成されたスレッド(
便利なリンクによって作成されたワーカースレッド:
は、どのような状況下ではCLRは、スレッドを作成していますか?これらは[ThreadPool](http://msdn.microsoft.com/en-us/library/system.threading.threadpool.aspx)によって作成されたスレッドですか? あなたの答えを考えれば、私はワーカースレッドの数だけも謎に包まれています。 – pomeroy
アプリケーションコードを一切見ずに言うのは本当に難しいです。 CLRは、アプリケーションスレッドに関してガベージコレクションのためのCLRワーカースレッドを作成することができますが、これは推測にすぎませんが、アプリケーションがスレッドプールを使用していると仮定すると、十分に文書化された動作があります。 "アプリケーションがスレッドプールのタスクを、それを処理すると、スレッドプールは追加のスレッドを作成します。」「スレッドプールのクールな点は、ヒューリスティックであることです。アプリケーションで多くのタスクを実行する必要がある場合は、スレッドプールによってスレッドが増えます。あなたはタイムライングラフの上に紫色のである(メインスレッドを除く)唯一のアクティブなアプリケーションのスレッドを持っているスクリーンショット、THIは、I/O操作に関与し、それを意味します(ファイル/ネットワークストリーム、IOポート、またはそのように読んでいる)、すべてを見てみると – sll
他のスレッドは同期のためにブロックされます。なぜあなたは多くのブロックされたワーカースレッドを持っているのか分かりません。いくつかの同期ループでスレッドを作成していますか? – sll