我遇到一個問題,即我的應用程序中的句柄數量不斷增長。我做了調試,並認識到這是由System.Threading.Thread類用於某些例程引起的。爲了簡化我創建了一個示例.NET應用程序調試:使用.NET System.Threading.Thread處理泄漏類
...
private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(DoWork);
t.Start();
}
public void DoWork(object parameter)
{
// Do something...
}
...
每次我點擊按鈕,使用System.Threading.Thread類創建一個線程。 問題是,看起來像線程不釋放句柄,因爲每次點擊導致句柄數量增長~5。
問題是:如何手動釋放由System.Threading.Thread類創建的所有句柄?
在此先感謝。
這將取決於把手您的應用程序正在泄漏的類型的錯誤,它們是怎麼分配的。 DoWork方法有什麼作用? – 2010-05-24 09:01:57
其實即使DoWork不做任何事情(如我的例子) - 有5個手柄在泄漏。我做了:1)創建測試.net應用程序2)在主窗體上放置一個按鈕3)添加按鈕單擊事件處理程序和DoWork就像我的例子。而已。即使這樣簡單的應用程序導致5處理泄漏 – Mahno 2010-05-24 09:07:44