我正在尝试监视用C#编写的Microsoft.NET应用程序中的一组线程的状态。我希望能够监视由原始线程产生的任何子线程。
在Java中,您可以将线程分配给线程组,并且它们的子项也属于该组。在.NET中是否存在等价物?
我简要地查看了ExecutionContext和LogicalCallContext,但是我看不到如何查找上下文中的所有线程。 Raymond Chen有一篇关于Win32 API method枚举线程的文章,但我希望我没有那么低。
答案 0 :(得分:3)
您可以使用System.Diagnostics.Process的Threads属性枚举进程中的线程。
但请注意,您在此处获得的对象与您自己创建的对象类型不同(即不是System.Threading.Thread对象)。
但是,AFAIK不存在线程组的概念。
答案 1 :(得分:2)
他们在“Task”API中正在开发类似的东西,它是Parallel Extensions的一部分。
答案 2 :(得分:1)
简单说明:
使用包装线程创建过程的方法创建ThreadGroup类。
调用此方法时,会将创建的线程添加到Collection中,并且存在您的组。