首页 > 后端开发 > C++ > 如何在 C# 中以编程方式检索线程 ID?

如何在 C# 中以编程方式检索线程 ID?

Linda Hamilton
发布: 2024-12-28 21:12:11
原创
857 人浏览过

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.ManagedThreadId(首选用法是 System.Environment.CurrentManagedThreadId)

以上是如何在 C# 中以编程方式检索线程 ID?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板