자바(JAVA)
[자바/JAVA] 스레드 종료시까지 대기하는 join() 메소드
앱해피
2015. 8. 19. 10:41
자바나 안드로이드로 프로그래밍을 하다보면 작업을 분리해서 다른 스레드에 할당해야 하는 경우가 적지 않습니다.
그리고 메인 스레드에서 별도의 스레드에서 처리한 작업이 완료될 때까지 기다려야 하는 경우가 많이 있습니다.
이 경우에는 Thread의 join() 메소드를 사용하여 이 문제를 해결할 수 있습니다.
public class ThreadJoinTest { public static void main(String[] args) { Thread workingThread = new Thread() { public void run() { try { Thread.sleep(3000); // 작업 스레드 3초간 정지... System.out.println("작업 스레드 종료"); } catch(InterruptedException ex) { } } }; workingThread.start(); // 작업 스레드 시작. try { /* join() 메소드 실행. thread 스레드가 종료될 때까지 main 스레드가 대기한다. join() 메소드는 InterruptedException을 발생한다. */ workingThread.join(); // 메인 스레드에서 작업 스레드의 종료를 대기한다. } catch(InterruptedException e) { e.printStackTrace(); } System.out.println("작업 스레드 종료 후... Main 스레드 다시 동작"); } } ""
감사합니다!!! ^_^