首頁 > 後端開發 > C++ > 如何在 C# 中以程式設計方式檢索線程 ID?

如何在 C# 中以程式設計方式檢索線程 ID?

Linda Hamilton
發布: 2024-12-28 21:12:11
原創
858 人瀏覽過

How Can I Programmatically Retrieve Thread IDs in C#?

在 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的已棄用選項目前管理的執行緒:

  • System.Threading.GetCurrentThreadId(從 .NET 2.0 開始已棄用)
  • Thread.CurrentThread.ManagedThread System.Environment.CurrentManagedThreadId)

以上是如何在 C# 中以程式設計方式檢索線程 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板