获取线程ID
可能重复:
C#/ .NET:如何从线程中获取线程ID?
我如何获得与在Visual Studio中看到的相同的线程ID?
我曾尝试使用Thread.CurrentThread.ManagedThreadId
,但我得到了不同的数字。
我得到35,38,39等,但在Visual Studio中我有10596,893等…
使用GetCurrentThreadId()或ManagedThreadId()来获取线程ID:
int threadID = (int)AppDomain.GetCurrentThreadId(); int managedThreadId = Thread.CurrentThread.ManagedThreadId; Console.WriteLine("ThreadId = " + threadID); Console.WriteLine("ManagedThreadId = " + managedThreadId);
看一下Stack Overflow问题从线程中获取线程ID 。
您可以使用WinApi函数GetCurrentThreadId和GetThreadId
如果您在实时应用程序中看到不同的线程ID,而不是在Visual Studio中进行调试,那么这正是您应该看到的,对吧?
在调试器中运行时,您实际上在调试器主机中运行应用程序,该主机将具有不同于仅运行应用程序的线程。