我試圖監視用C#編寫的Microsoft.NET應用程序中的一組線程的狀態。我希望能夠監視由原始線程產生的任何子線程。.NET等價於Java線程組?
在Java中,您可以將線程分配給線程組,並且其子組也將屬於該組。在.NET中有沒有相同的東西?
我簡單地看了一下ExecutionContext和LogicalCallContext,但我看不到如何找到上下文中的所有線程。 Raymond Chen有一篇關於枚舉線程的文章Win32 API method,但我希望我不必那麼低。
我試圖監視用C#編寫的Microsoft.NET應用程序中的一組線程的狀態。我希望能夠監視由原始線程產生的任何子線程。.NET等價於Java線程組?
在Java中,您可以將線程分配給線程組,並且其子組也將屬於該組。在.NET中有沒有相同的東西?
我簡單地看了一下ExecutionContext和LogicalCallContext,但我看不到如何找到上下文中的所有線程。 Raymond Chen有一篇關於枚舉線程的文章Win32 API method,但我希望我不必那麼低。
您可以使用System.Diagnostics.Process的Threads屬性來枚舉進程中的線程。
但請注意,您在此處獲得的對象與您創建自己啓動線程的對象類型不同(即不是System.Threading.Thread對象)。
但是,AFAIK不存在線程組的概念。
他們正在研究他們的「任務」API,這是並行擴展的一部分。
使簡單:
與包裝線程的創建過程的方法創建ThreadGroup類。
當調用此方法時,它會將創建的線程添加到Collection並且存在您的組。
如果你控制所有啓動線程的代碼,但是我不這樣做,這是一個好主意。 – 2009-01-20 18:18:25