2008-09-30 89 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