C#/수업 내용
스레드
hyunjin-dev-log
2021. 12. 24. 22:39
using System;
using System.Threading; //1. using지시문 추가
namespace HelloWorld
{
class App
{
//생성자
public App()
{
//3. ThreadStart객체 생성 (대리자)
ThreadStart ts = new ThreadStart(Work); //대리자 인스턴스화
// = ThreadStart ts = this.Work;
// = ThreadStart ts = () => { };
//4. 스레드 객체를 생성한다
Thread t = new Thread(ts);
Console.WriteLine(t.ThreadState); //Unstarted
t.Start(); //Unstarted -> Running
Console.WriteLine(t.ThreadState); //Running
t.Join(); //작업 스레드가 하는일이 끝날때까지 대기
Console.WriteLine(t.ThreadState); //Stopped
}
//2. 작업스레드에서 동작할 메서드 정의
void Work()
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine(i);
Thread.Sleep(1000); //지정된 시간(밀리초) 동안 현재 스레드를 일시 중단합니다.
}
}
}
}