获取线程ID

时间:2011-06-23 08:59:58

标签: c# .net visual-studio multithreading

  

可能重复:
  C#/.NET: How to get the thread id from a thread?

我如何获得与在Visual Studio中看到的相同的线程ID?

我曾尝试使用Thread.CurrentThread.ManagedThreadId,但我得到了不同的数字。

我得到35,38,39等,但在Visual Studio中我有10596,893等...

3 个答案:

答案 0 :(得分:14)

使用GetCurrentThreadId()或ManagedThreadId()获取线程ID:

int threadID = (int)AppDomain.GetCurrentThreadId();
int managedThreadId = Thread.CurrentThread.ManagedThreadId;
Console.WriteLine("ThreadId = " + threadID);
Console.WriteLine("ManagedThreadId = " + managedThreadId);

查看Stack Overflow问题 Getting the thread ID from a thread

答案 1 :(得分:3)

您可以使用WinApi函数GetCurrentThreadIdGetThreadId

答案 2 :(得分:2)

如果您在实时应用程序中看到不同的线程ID,而不是在Visual Studio中调试时,那就是您应该看到的,对吧?

在调试器中运行时,您正在调试器主机中有效地运行应用程序,该主机将具有与仅运行应用程序不同的线程。