我如何获得与在Visual Studio中看到的相同的线程ID?
我曾尝试使用Thread.CurrentThread.ManagedThreadId
,但我得到了不同的数字。
我得到35,38,39等,但在Visual Studio中我有10596,893等...
答案 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函数GetCurrentThreadId和GetThreadId
答案 2 :(得分:2)
如果您在实时应用程序中看到不同的线程ID,而不是在Visual Studio中调试时,那就是您应该看到的,对吧?
在调试器中运行时,您正在调试器主机中有效地运行应用程序,该主机将具有与仅运行应用程序不同的线程。