내 응용 프로그램의 핸들 수가 지속적으로 증가하는 문제가 있습니다. 나는 디버깅을했고 이것이 System.Threading.Thread 클래스에 의해 발생한다는 것을 알아 냈다. 내가 버튼을 클릭하고있어.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 클래스를 사용하여 만들어집니다 : 나는 샘플 .NET 응용 프로그램을 만든 디버깅을 간소화합니다. 문제는 핸들 클릭 수가 각각 5 % 증가하기 때문에 스레드가 핸들을 해제하지 않는 것처럼 보입니다.
질문 : System.Threading.Thread 클래스로 만든 모든 핸들을 수동으로 해제하려면 어떻게해야합니까?
미리 감사드립니다.
이 응용 프로그램이 누출되어 핸들의 종류에 따라 달라집니다 버그 방법은 할당됩니다. 'DoWork' 메소드는 무엇을합니까? –
실제로 DoWork가 아무런 작업을하지 않더라도 (예에서와 같이) 5 개의 핸들이 누수됩니다. 내가 한 : 1) 테스트. NET 응용 프로그램을 만들 2) 메인 양식에 버튼을 배치 3) 내 예제에서 버튼 클릭 이벤트 처리기와 DoWork를 추가합니다. 그게 전부 야. 너무 단순한 응용 프로그램에서도 원인 5 핸들 누출 – Mahno