如何从当前正在执行的Thread对象中获取ProcessThread ID?

时间:2018-04-27 11:47:01

标签: c# .net

我通过Jeffrey Richter的C#书阅读了CLR。现在我读了关于线程的章节。作者写道,CLR中的威胁与Windows操作系统中的线程完全匹配。因此,对我来说如何获得Thread实例的真实id

是很有趣的

ProcessThread类实例包含Id属性。它是Windows操作系统中线程的真实 ID。我需要为Thread实例获取相同的Id值。

Thread.ManagedThreadIdEnvironment.CurrentManagedThreadId彼此相同的值不匹配Process.Threads返回的任何ProcessThread对象。

例如

Console.WriteLine(Thread.CurrentThread.ManagedThreadId);
Console.WriteLine(Environment.CurrentManagedThreadId);

在两种情况下都会打印11,而Process.GetCurrentProcess().Threads中的ProcessThread对象的最小ID从4700开始

0 个答案:

没有答案