メインスレッドが新しいスレッドt1を生成していると仮定して、t1上で実行されるコードはメインスレッドのスレッドID(C#を使用)をどのように見つけることができますか?.NET親スレッドIDを取得する方法はありますか?
編集:
私は新しいスレッドの作成を制御しません。だから私はスレッドにパラメータを渡すことはできません。
ありがとうございました。
メインスレッドが新しいスレッドt1を生成していると仮定して、t1上で実行されるコードはメインスレッドのスレッドID(C#を使用)をどのように見つけることができますか?.NET親スレッドIDを取得する方法はありますか?
編集:
私は新しいスレッドの作成を制御しません。だから私はスレッドにパラメータを渡すことはできません。
ありがとうございました。
できません。
しかし、あなたは考えるかもしれない:親スレッド
プロパティを持っているかどうかわかりませんが、新しいパラメータをスレッドに追加して渡すことができます。それは私が考えることができる最も簡単な方法でしょう...
2つのスレッドがあり、2番目のスレッドがバックグラウンドスレッドである場合は、Thread.IsBackground
propertyを読んでバックグラウンドスレッドを削除してプロセス内のすべてのスレッドを列挙できます。非常にきれいではありませんが、おそらくあなたが必要なのは?
foreground and background threads on MSDNについて詳しく読むことができます。
基本的に、Win32でのプロセス内のすべてのスレッドは等しく、「メインスレッド」はありません。 .NETはバックグラウンドスレッドの洗練を追加しますが、まだ "メインスレッド"はありません。 – Richard
@リチャードは訂正してくれてありがとう。 –