2008-09-30 62 views
3

我试图监视用C#编写的Microsoft.NET应用程序中的一组线程的状态。我希望能够监视由原始线程产生的任何子线程。.NET等价于Java线程组?

在Java中,您可以将线程分配给线程组,并且其子组也将属于该组。在.NET中有没有相同的东西?

我简单地看了一下ExecutionContext和LogicalCallContext,但我看不到如何找到上下文中的所有线程。 Raymond Chen有一篇关于枚举线程的文章Win32 API method,但我希望我不必那么低。

回答

3

您可以使用System.Diagnostics.Process的Threads属性来枚举进程中的线程。

但请注意,您在此处获得的对象与您创建自己启动线程的对象类型不同(即不是System.Threading.Thread对象)。

但是,AFAIK不存在线程组的概念。

2

他们正在研究他们的“任务”API,这是并行扩展的一部分。

1

使简单:

与包装线程的创建过程的方法创建ThreadGroup类。

当调用此方法时,它会将创建的线程添加到Collection并且存在您的组。

+0

如果你控制所有启动线程的代码,但是我不这样做,这是一个好主意。 – 2009-01-20 18:18:25