Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 현재 스레드의 상태를 확인하는 방법

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 속성을 활용하는 것도 좋은 방법입니다.