웹에서 사용자에 대한 응답은 몇초안에 이루어져야 하기 때문에 오래 걸리는 작업은 일반적인 웹 응답 코드에 만들어 넣을 수가 없다. 웹서버가 너무 오래 걸리는 웹 작업은 죽여 타임아웃이 되어 죽여 버리기 때문이다. 이런 경우에는 쓰레드를 사용하는 것이 한 방법이다. 보통 아래와 같은 코드로 작성 된다.
Thread t = new Thread(new ThreadStart(LongProcess));
t.Start();
Thread.Sleep(0);
LongProcess가 오래 걸리는 작업이다. Thread.Sleep(0)는 현재의 쓰레드를 재우는 것인데... 보통 프로세서가 하나밖에 없으면 자식 쓰레드가 CPU를 잡지 못하기 때문에 넣어 주는 코드다.