2011-10-28 7 views
5

私はC#アプリケーションで作業していますが、スレッドの問題に直面しています。 アプリケーションで実行されているスレッドを知りたい。ProcessThread名前

私は怒鳴るのコードを使用します。

foreach (ProcessThread s in Process.GetCurrentProcess().Threads) 
{ 
    try 
    { 
    int l_iTest = 0; 
    //(Thread) s.name 
    //l_liTest += s.Id + ";"; <-- name of the ProcessThread ? 
    } 
    catch 
    { 
    // Some stuff 
    }} 

私のポイントは、私は私のスレッドを立ち上げているクラスまたはassambly知っていただきたいと思います、です。

アイデアはありますか?

+1

ProcessThreadからスレッドに戻ることはできません。スレッドを開始したコードについて何か知る必要がある場合は、引数を渡します。 –

+0

@HansPassant:ProcessThread.IdからThreadオブジェクトに移動する方法がないのは確かですか?それは彼の問題と鉱山を解決するだろう。 –

答えて

1

my answerthis questionを見て、変異体があなたを助けることができるかどうかを確認します(つまり、スレッドがアプリ内の既知のスレッドのグローバルリポジトリにアクセスできるかどうかを確認します)。

+0

私が理解しているように、そのコードはクラスを使用して名前を知りたいスレッドを立ち上げることを前提としていますか?間違いなく解決策ではありません。私はバックグラウンドワーカー 'RunWorkerAsync'を使用しています。そのスレッドIDをその名前で見つける必要があります。 –