C#/수업내용
03/29 Thread 복습 3 (상태)
박준희
2021. 3. 29. 23:49
스레드의 Name속성에 이름을 설정하거나 가져올 수 있다.
스레드의 ThreadState속성으로 스레드의 동작 상태를 가져올 수 있다.
Program.cs
namespace Study07
{
class Program
{
static void Main(string[] args)
{
new App();
}
}
}
App.cs
using System;
using System.Threading;
namespace Study07
{
public class App
{
Thread thread1;
Thread thread2;
public App()
{
thread1 = new Thread(() =>
{
//Running : 스레드 시작후 동작 상태
Console.WriteLine(thread1.ThreadState);
Thread.Sleep(100);
thread1.Abort();
Thread.Sleep(100);
});
thread1.Name = "Thread1";
//Unstarted : 스레드 생성후 Start되기전 상태
Console.WriteLine(thread1.ThreadState);
thread1.Start();
thread2 = new Thread(() =>
{
while(true)
{
Thread.Sleep(1000);
Console.WriteLine(thread1.ThreadState);
//Stopped : Abot메서드 호출시 되는 상태 (중지된 스레드의 상태)
}
});
thread2.Start();
}
}
}