.NET等同于Java线程组?

时间:2008-09-30 17:04:11

标签: c# .net multithreading

我正在尝试监视用C#编写的Microsoft.NET应用程序中的一组线程的状态。我希望能够监视由原始线程产生的任何子线程。

在Java中,您可以将线程分配给线程组,并且它们的子项也属于该组。在.NET中是否存在等价物?

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

3 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:2)

他们在“Task”API中正在开发类似的东西,它是Parallel Extensions的一部分。

答案 2 :(得分:1)

简单说明:

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

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