C#에서 현재 스레드의 상태(실행 중 여부)를 확인하려면 IsAlive 속성을 사용하면 됩니다. 이 속성은 스레드가 시작되었고 아직 종료되지 않았다면 true를, 그렇지 않으면 false를 반환합니다.
1. 현재 스레드 가져오기
먼저 Thread.CurrentThread 속성을 사용하여 현재 실행 중인 스레드 객체를 가져옵니다.
Thread t = Thread.CurrentThread; t.Name = "Our Thread";
2. 스레드 상태 확인하기
가져온 스레드 객체의 IsAlive 속성을 통해 현재 스레드의 상태를 확인할 수 있습니다.
t.IsAlive
전체 예제 코드
아래는 위 내용을 모두 포함한 완성된 코드입니다.
using System;
using System.Threading;
namespace Demo {
class MyClass {
static void Main(string[] args) {
Thread t = Thread.CurrentThread;
t.Name = "Our Thread";
Console.WriteLine("Status = {0}", t.IsAlive);
Console.ReadKey();
}
}
}실행 결과
프로그램을 실행하면 다음과 같이 스레드가 살아 있음을 나타내는 True가 출력됩니다.
Status = True
참고: IsAlive는 메서드가 아닌 속성(property)이므로 괄호 없이 사용합니다. 또한 스레드의 세부 상태(실행 중, 대기 중, 중단됨 등)를 더 자세히 알고 싶다면 ThreadState 속성을 활용하는 것도 좋은 방법입니다.