2016-04-07 9 views
-1
私は、並列処理プロジェクトに取り組んでいます

で作成したスレッド、私は複数のタスクを実行するために、いくつかのスレッドを作成していますの数を取得する方法があります:今...たとえば 私はC#の

Thread t1=new Thread(...); 
Thread t2=new Thread(...); 
Thread t3=new Thread(...); 

は、私はこのプロセスで実行中のスレッドの数を取得したい。私はそのために、次のコードを使用します。

label1.Text = Process.GetCurrentProcess().Threads.Count.ToString(); 

それは私にを与え、それは以下のlinkから13を返し、なぜ、私は、このリンクから答えを得た:

私の質問:はありますが私がこのプロセスで作成したスレッドの数を取得して実行していますか? 私は3つのスレッドしか作成されておらず、実行中です。

+1

自分で数えないのはなぜですか?フレームワークとのスレッドの作成を区別するものは何もありません。スレッドを作成する第三者のライブラリ(ユーザーコードでもあるため)を作成することは何もありません。 – Rob

+0

あなたが作成したスレッドのリストを保持するだけではどうですか? – BugFinder

+0

回答ありがとう、私は生きている人を数えたい、これを行う方法はありますか? –

答えて

1

開始/停止時にList<Thread>にスレッドを追加/削除できます。あなたはあなたのスレッドについて必要な情報をこのリストに問い合わせることができます。これは、スレッドの場合にのみ正確です。.NETはスレッドプールでガベージコレクションと使用のために独自のスレッドをいくつか作成します。

+0

ありがとうBradley ,,うん、私はスレッドのリストを作成し、私はスレッド名を与えます..次のコマンドを使用して:** thread.name = "何か" **スレッドを認識するためです**スレッド.isAlive **はスレッドがまだ実行中かどうかを知るためのものです。 –

関連する問題