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가 종료되었습니다
*본 게시물은 프로그래머스<자바중급>을 복습하며 작성한 글입니다*
'JAVA' 카테고리의 다른 글
JAVA(2022.06.07) - 데몬 쓰레드 (0) | 2022.06.07 |
---|---|
JAVA(2022.06.06) - 쓰레드와 상태제어(wait, notify) (0) | 2022.06.06 |
JAVA(2022.06.04) - 쓰레드와 상태제어 (0) | 2022.06.04 |
JAVA(2022.06.03) - 메소드 동기화 (0) | 2022.06.03 |
JAVA(2022.06.02) - 쓰레드와 공유객체 (0) | 2022.06.02 |