[C# 문법] Thread Join 메서드와 Sleep 메서드 사용방법

안녕하세요.

 

오늘은 C# 문법에서 Thread(스레드) 사용시 자주 사용되는 메서드인 Join 메서드와 Sleep 메서드 사용 방법에 대해서 알아 보려고 합니다.

 

예제로 들어가기 전, 먼저 간단히 Join 메서드와 Sleep 메서드가 어떤 역할을 하는지 알려 드리도록 하겠습니다.

 

Join 메서드는 현재 스레드에서 다른 스레드의 실행이 끝나길 기다릴 때 사용하는 메서드 입니다.

 

반면에, Sleep 메서드는 기다리는게 아니라 재운다라는 표현이 맞을 듯 한데요.

 

그럼 예제를 통해 Join 메서드와 Sleep 메서드의 차이를 보여 드리도록 하겠습니다.

 

예제 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using System;
using System.Threading;
 
namespace ThreadTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Thread thread1 = new Thread(Test);
            thread1.Start();
            thread1.Join();
            Console.WriteLine("스레드 Thread1 이 종료 되었습니다.");
 
            Thread thread2 = new Thread(Test);
            thread2.Start();
            Thread.Sleep(1000); //10초
            Console.WriteLine("스레드 Thread2 이 종료 되었습니다.");
        }
 
        private static void Test()
        {
            for (int i = 0; i < 100; i++)
            {
                Console.WriteLine("XXX");
            }
        }
    }
}
 
cs

 

실행 결과

위와 같이 Join 메서드를 사용한 thread1 “XXX” 문자가 100번 출력한 뒤, 바로 스레드1 이 종료되었다는 문구가 뜨는 반면에, Sleep 메서드로 시간을 지정한다면 “XXX”100번이 출력하고 10초 후에 스레드2가 종료되었다는 문구가 뜨는걸 확인하실 수 있습니다.

 

감사합니다.^^

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY