スレッドからスレッドIDを取得する 質問する

スレッドからスレッドIDを取得する 質問する

たとえば、C# でスレッドをデバッグする場合、各スレッドの ID を確認できます。

同じスレッドをプログラムで取得する方法が見つかりませんでした。現在のスレッドの ID (のプロパティ内Thread.currentThread) を取得することさえできませんでした。

それで、Visual Studio はどのようにしてスレッドの ID を取得するのでしょうか。また、2345たとえば、 id を使用してスレッドのハンドルを取得する方法はあるのでしょうか。

ベストアンサー1

GetThreadId指定されたネイティブ スレッドの ID を返します。マネージ スレッドで動作させる方法はいくつかあると思いますが、必要なのはスレッド ハンドルを見つけて、それをその関数に渡すことだけです。

管理スレッドの場合は、System.Environment.CurrentManagedThreadId

以下に記載されている古い SDK オプションも存在しますが、推奨される使用方法は ですSystem.Environment.CurrentManagedThreadId

  • GetCurrentThreadId現在のスレッドの ID を返します。.NET GetCurrentThreadId2.0 以降では非推奨になりました。
  • Thread.CurrentThread.ManagedThreadId現在の管理対象スレッドの一意の識別子を返します。ただしSystem.Environment.CurrentManagedThreadIdSystem.Environment.CurrentManagedThreadIdが優先されます (CA1840)。

おすすめ記事