IsAlive 속성이란?
C#에서 현재 스레드의 상태를 확인하려면 Thread 클래스의 IsAlive 속성을 사용합니다. 이 속성은 스레드가 시작된 후 아직 종료되지 않고 실행 중인 경우 true를 반환하고, 종료되었거나 아직 시작되지 않은 경우 false를 반환합니다.
1단계: CurrentThread로 현재 스레드 가져오기
먼저 CurrentThread 속성을 사용하여 현재 실행 중인 스레드에 대한 정보를 가져옵니다.
Thread thread = Thread.CurrentThread;
2단계: IsAlive 속성으로 스레드 상태 확인
가져온 스레드 객체의 thread.IsAlive 속성을 사용하여 해당 스레드의 상태를 확인합니다.
thread.IsAlive
전체 예제 코드
아래는 C#에서 현재 스레드의 상태를 확인하는 전체 코드입니다.
using System;
using System.Threading;
namespace Demo {
class MyClass {
static void Main(string[] args) {
Thread thread = Thread.CurrentThread;
thread.Name = "My New Thread";
Console.WriteLine("Thread Status = {0}", thread.IsAlive);
Console.ReadKey();
}
}
}
실행 결과
Thread Status = True
출력 결과에서 볼 수 있듯이, Main 메서드가 실행되는 동안 해당 스레드는 활성 상태이므로 IsAlive 속성이 True를 반환합니다. 이처럼 IsAlive 속성을 활용하면 멀티스레딩 환경에서 특정 스레드가 아직 작업을 수행 중인지 손쉽게 판별할 수 있습니다.