스레드는 프로그램의 실행 경로로 정의됩니다. 각 스레드는 고유한 제어 흐름을 정의합니다.
C#에서 System.Threading.Thread 클래스는 스레드 작업에 사용됩니다. 다중 스레드 응용 프로그램에서 개별 스레드를 만들고 액세스할 수 있습니다. 프로세스에서 가장 먼저 실행되는 스레드를 메인 스레드라고 합니다.
스레드의 수명 주기는 System.Threading.Thread 클래스의 개체가 생성될 때 시작되어 스레드가 종료되거나 실행이 완료될 때 종료됩니다.
다음은 스레드 수명 주기의 다양한 상태입니다 -
-
시작되지 않은 상태 − 스레드의 인스턴스가 생성되었지만 Start 메소드가 호출되지 않은 상황입니다.
-
준비 상태 − 스레드가 실행될 준비가 되어 CPU 주기를 기다리는 상황입니다.
-
실행할 수 없는 상태 − 다음과 같은 경우 스레드를 실행할 수 없습니다.
- 수면 방법이 호출되었습니다.
- 대기 메서드가 호출되었습니다.
- I/O 작업에 의해 차단됨
-
죽은 상태 − 스레드가 실행을 완료하거나 중단된 상황입니다.
다음은 C#에서 스레드를 생성하는 방법을 보여주는 예입니다 -
예시
using System; using System.Threading; namespace Demo { class Program { static void Main(string[] args) { Thread th = Thread.CurrentThread; th.Name = "MainThread"; Console.WriteLine("This is {0}", th.Name); Console.ReadKey(); } } }
출력
This is MainThread