C# でのスレッド ID の取得
C# でデバッグする場合、Visual Studio は各スレッドの ID を表示します。ただし、開発者はプログラムでこの情報にアクセスしたい場合があります。
マネージド スレッド
マネージド スレッドの場合、System.Environment.CurrentManagedThreadId プロパティは現在のスレッドの ID を提供します。あるいは、Thread.CurrentThread.ManagedThreadId も同じ目的を果たします。
ネイティブ スレッド
Visual Studio は、GetThreadId 関数を通じてネイティブ スレッドの ID を取得します。特定のスレッドのハンドルを取得するには、次のコードを使用します。
// Code for retrieving a thread handle with a specific ID if (IntPtr.Size == 4) { // 32-bit process ThreadHandle threadHandle = Win32.OpenThread(ThreadAccess.READ_CONTROL, false, threadId); } else { // 64-bit process ThreadHandle threadHandle = Win32.OpenThread(ThreadAccess.READ_CONTROL, false, threadId.ToInt64()); }
マネージド スレッドの非推奨オプション
古い SDK では、ID を取得するための非推奨オプションも提供されていました。現在管理されているもののスレッド:
以上がC# でスレッド ID をプログラム的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。