2012-06-25 2 views

답변

0

프로그램을 종료 할 때 Shutdown()을 호출하면 스레드를 만들 때 스레드를 배경 스레드로 표시 할 수 있습니다. 즉, 프로그램이 닫힐 때 프로그램이 중지되지만 스레드가 강제 종료 될 수 있기 때문에 항상 이상적인 것은 아닙니다.

Thread t = new Thread() 
t.IsBackground = true; 
+0

아니요, 앱 종료시 문제가 아닙니다. 문제는 응용 프로그램이 살아 있고 큐에 대한 참조가 손실되었습니다. 이 경우 실은 계속 살아 있습니다. – FCBshnik

+0

해당 코드를 간단히 살펴보면 스레드를 종료하기 위해 큐에 null 오브젝트를 추가해야합니다. 대기열에 대한 참조를 잃어버린 경우 Shutdown()이 호출 되더라도 아무런 차이가 없습니다. worker 요청 스레드에 중단 요청을 확인하는 방법을 추가하는 것이 좋습니다. 즉, 대기열 참조 유무에 관계없이 Thread.Abort()를 호출 할 수 있습니다. 거기에 빠른 검색과 정보가 많이 있어야합니다. – Vok