asp.net
응용 프로그램에 일반 스레드를 만듭니다. 스레드가 완료되면 어떻게해야합니까? 그것을 남겨 두십시오 (다시 스레드 풀로 돌아갈 것입니다).스레드가 완료되면 어떻게해야합니까? 그것을 떠나거나 그것을 중단합니까?
Thread thread = new Thread(new ThreadStart(work));
asp.net
응용 프로그램에 일반 스레드를 만듭니다. 스레드가 완료되면 어떻게해야합니까? 그것을 남겨 두십시오 (다시 스레드 풀로 돌아갈 것입니다).스레드가 완료되면 어떻게해야합니까? 그것을 떠나거나 그것을 중단합니까?
Thread thread = new Thread(new ThreadStart(work));
두십시오. 무의미한 예외를 만드는 데는 아무런 의미가 없습니다. C#을 .NET의 스레드가 다른 모든 처리
[STAThread]
public static void Main(string[] args)
{
foreach(var fileNamePath in DirectoryFiles)
{
ThreadPool.QueueUserWorkItem(ThreadPoolCallback, fileNamePath);
}
}
public void ThreadPoolCallback(object threadContext)
{
//do something
}
에서
사용하여 스레드 풀.
IDisposable
인터페이스가 존재 함을 상기하십시오. 특히 일부 공유 자원을 해제해야하는 시나리오의 경우입니다. (뿐만 아니라 다른 상황에 적용 물론 된,하지만 원래 의미 된 상황입니다.)
지금 관리 Thread
클래스 이 하지이 IDisposable
를 구현한다는 것을 고려하면 (짐작 정확하게) GC에 의한 정상적인 처리 이상의 특정 정리를 요구하지 않는다.
그런 방식으로 스레드를 생성하는 것은 스레드 풀을 사용하지 * 않습니다 *. – Ani
그렇다면이 스레드를 컨텍스트를 종료 한 상태로두면 어떻게됩니까? – Xaqron
Ani가 위의 코드를 지적하여 스레드 풀 스레드를 제공하지 않습니다. BackgroudWorker 또는 .NET 4에있는 경우 Task 클래스를 살펴보십시오. –