더북(TheBook)

스레드는 작업자 한 명

스레드를 현실 세계에 비유하면 ‘작업자 한 명’을 의미합니다. 집에서 혼자 아침 식사를 준비한다면 한 명(스레드)만 있어도 충분합니다. 하지만 큰 식당에서는 여러 명(스레드)이 있어야 많은 양의 요리를 준비할 수 있습니다. 참고로 여러 스레드를 사용하여 일을 진행하는 방식을 병렬(parallel) 프로그래밍이라고 합니다.

C#에서 스레드를 만들 때는 System.Threading 네임스페이스에 정의된 ThreadStart 대리자를 사용해야 합니다.

public delegate void ThreadStart( );

ThreadStart 대리자로 스레드를 선언할 수도 있습니다. 스레드는 스레드에 담을 메서드를 여러 개 구현해 놓고 이를 ThreadStart 대리자에 등록하면 됩니다. ThreadStart 대리자 개체를 Thread 클래스의 생성자로 받은 후 Thread 개체의 Start() 메서드를 호출하여 스레드에 담긴 메서드를 호출하는 형태입니다.

> using System.Threading;
> public static void Hi() { Console.WriteLine("Hi"); }
> Thread t = new Thread(new System.Threading.ThreadStart(Hi));
> t.Start();
Hi
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.