是否可以列出当前在.NET中运行的所有线程

时间:2009-11-03 11:29:50

标签: .net multithreading

我想尽可能多地列出有关.NET1.0中当前运行的所有线程的信息。在创建时,我没有将线程添加到我自己的内部列表中的奢侈;我只想删除当前系统中的那些列表。有没有人知道这样做的方法?我一直在看System.Threading ...命名空间,现在没有任何东西像我希望的那样开放。

2 个答案:

答案 0 :(得分:0)

如果您能够进入该过程,.Net调试器将为您提供所有当前正在执行的线程的列表。它也可以帮助您了解如果您有一个线程运行您控制的代码路径,您可以访问它的线程对象(System.Threading.Thread.CurrentThread)并为其命名,然后您可以将其打印到任何调试消息中。 (假设.Net 1.0有这个......)

我知道这是一个侧面的答案,但它可能有所帮助。

答案 1 :(得分:0)

不知道1.0,但在1.1中你可以使用:

Process[] processlist = Process.GetProcesses();

如果Process的Modules集合包含mscoree.dll / mscorjit.dll,则它是.Net线程。应用程序运行的.Net框架版本也可以通过模块提供的信息找到。

相关问题