본문 바로가기

JAVA

JAVA(2022.06.05) - 쓰레드와 상태제어(join)

join

  • Thread가 종료될 때까지 기다려야 할 때 Thread.join()을 사용한다 

ex) 

    public class MyThread5 extends Thread{
        public void run(){
            for(int i = 0; i < 5; i++){
                System.out.println("MyThread5 : "+ i);
                try {
                    Thread.sleep(500);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        } // run
    }
    
     public class JoinExam { 
        public static void main(String[] args) {
            MyThread5 thread = new MyThread5();
            // Thread 시작 
            thread.start(); 
            System.out.println("Thread가 종료될때까지 기다립니다.");
            try {
                // 해당 쓰레드가 멈출때까지 멈춤
                thread.join();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("Thread가 종료되었습니다."); 
        }   
    }

join을 통해 쓰레드가 종료될때까지 "Thread가 종료되었습니다." 문장이 출력되지 않는다 

 

 

실행결과 

 

Thread가 종료될때까지 기다립니다 

MyThread5 : 0 

MyThread5 : 1 

MyThread5 : 2 

MyThread5 : 3 

MyThread5 : 4

Thread가 종료되었습니다 

 

 

 

 

 

 

 

 

*본 게시물은 프로그래머스<자바중급>을 복습하며 작성한 글입니다*