[c#] C# 스레드 상태 확인
C# 프로그램에서 스레드의 현재 상태를 확인하는 방법은 여러 가지 있습니다. 다음은 가장 일반적인 방법들에 대한 설명입니다.
Thread 클래스 사용하기
C#의 Thread
클래스를 사용하여 스레드의 상태를 확인할 수 있습니다. 예를 들어, ThreadState
속성을 통해 스레드의 현재 상태를 확인할 수 있습니다.
using System;
using System.Threading;
class Program
{
static void Main()
{
Thread thread = new Thread(() =>
{
Console.WriteLine("스레드 동작 중...");
Thread.Sleep(2000);
});
thread.Start();
while (thread.IsAlive)
{
Console.WriteLine("스레드 상태: " + thread.ThreadState);
Thread.Sleep(500);
}
Console.WriteLine("스레드가 종료되었습니다.");
}
}
위의 코드 예제에서 ThreadState
속성을 사용하여 스레드의 현재 상태를 주기적으로 확인합니다.
스레드 상태 이벤트 처리하기
또 다른 방법으로는 ManualResetEvent
나 AutoResetEvent
와 같은 이벤트를 사용하여 스레드의 상태를 추적할 수 있습니다.
using System;
using System.Threading;
class Program
{
static ManualResetEventSlim eventSlim = new ManualResetEventSlim();
static void Main()
{
Thread thread = new Thread(() =>
{
Console.WriteLine("스레드 동작 중...");
Thread.Sleep(2000);
eventSlim.Set();
});
thread.Start();
eventSlim.Wait();
Console.WriteLine("스레드가 종료되었습니다.");
}
}
위의 코드 예제에서는 ManualResetEventSlim
을 사용하여 스레드가 종료될 때까지 기다린 후 상태를 확인합니다.
요약
이 글에서는 C# 프로그램에서 스레드의 상태를 확인하는 방법에 대해 살펴보았습니다. Thread
클래스를 사용하거나 이벤트를 활용하여 스레드의 상태를 추적할 수 있습니다. 적절한 방법을 선택하여 프로그램에 맞는 스레드 상태 확인 방법을 구현할 수 있습니다.
자세한 내용은 아래 링크를 참고하세요.