Code/C#
Thread Join 사용법과 예제
Hide Code
2007. 12. 8. 16:48
하나의 Thread가 실행되는 도중, 다른 Thread가 완료되기를 기다려야할 때가 있다.
이때 사용할 수 있는 것이 Join method이다.
Join method는 지정된 Thread가 끝날 때까지 기다리라는 명령어이다.
아래의 예제를 보자.
using System;
using System.Threading;
namespace JoinTest
{
class Program
{
static void Main(string[] args)
{
Thread worker = new Thread(new ThreadStart(DoWork));
worker.Start();
worker.Join();
Console.WriteLine("Done");
}
static void DoWork()
{
for (int i = 0; i < 100; i++)
{
Thread.Sleep(100);
Console.Write(".");
}
}
}
}
위의 예제에서 worker thread가 끝나기 전에는 "Done" 이란 메세지가 출력되지 않는다.
즉 worker.Join(); 라인은 worker thread가 끝날때 까지 기다리라는 명령어인 것이다.
실행 결과 화면은 다음과 같다.
이때 사용할 수 있는 것이 Join method이다.
Join method는 지정된 Thread가 끝날 때까지 기다리라는 명령어이다.
아래의 예제를 보자.
using System;
using System.Threading;
namespace JoinTest
{
class Program
{
static void Main(string[] args)
{
Thread worker = new Thread(new ThreadStart(DoWork));
worker.Start();
worker.Join();
Console.WriteLine("Done");
}
static void DoWork()
{
for (int i = 0; i < 100; i++)
{
Thread.Sleep(100);
Console.Write(".");
}
}
}
}
위의 예제에서 worker thread가 끝나기 전에는 "Done" 이란 메세지가 출력되지 않는다.
즉 worker.Join(); 라인은 worker thread가 끝날때 까지 기다리라는 명령어인 것이다.
실행 결과 화면은 다음과 같다.