可能重复:
C#/.NET:如何从线程获取线程ID?
我如何获得与在Visual Studio中看到的相同的线程ID?
我尝试使用Thread.CurrentThread.ManagedThreadId
,但是我得到不同的数字。
我得到35、38、39等,但在Visual Studio中我有10596、893等...
可能重复:
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问题 Getting the thread ID from a thread。
如果在Visual Studio调试与实际应用中看到了不同的线程ID,这是正常现象,你应该预料到这种情况。
运行于调试器中时,实际上是在调试器宿主环境下运行应用程序,此时将会有不同于独立运行应用程序时的线程。
Hex(AppDomain.GetCurrentThreadId())
- Code Novice