5/15 인프런 Java 수강 중 Timer, TimerTask에 관해 궁금한 사항 (쓰레드 공부하고 다시보기)
package com.javalec.api;
import java.util.Timer;
import java.util.TimerTask;
public class TimerEx {
public TimerEx() throws InterruptedException{
System.out.println("^^");
Timer timer = new Timer(true);
TimerTask t1 = new Timer1();
TimerTask t2 = new Timer2();
timer.schedule(t1, 2000);
timer.schedule(t2, 3000);
Thread.sleep(5000);
System.out.println("done");
}
}
처음에 이 코드를 보고 나서는, t1이 실행된 후 2초후에 t2가 실행
그리고 5초후에 쓰레드가 슬립되는 줄 알았는데 아니었다.
모두 병렬로 처리된다.
------(2초에 t1)--(3초에 t2)-------(5초에 슬립)--(done)--> 이다.
메소드를 여러개 정의해두면 사실 순서대로 진행되는 줄 알았는데
이건 좀 다른 케이스인가? 병렬로 실행되는 게 아직은 잘 이해되지 않는데
이 부분은 쓰레드와 관련한 사항같다.
import java.util.Timer;
import java.util.TimerTask;
public class TimerEx {
public TimerEx() throws InterruptedException{
System.out.println("^^");
Timer timer = new Timer(true);
TimerTask t1 = new Timer1();
TimerTask t2 = new Timer2();
timer.schedule(t1, 2000);
timer.schedule(t2, 3000);
Thread.sleep(5000);
System.out.println("done");
}
}
처음에 이 코드를 보고 나서는, t1이 실행된 후 2초후에 t2가 실행
그리고 5초후에 쓰레드가 슬립되는 줄 알았는데 아니었다.
모두 병렬로 처리된다.
------(2초에 t1)--(3초에 t2)-------(5초에 슬립)--(done)--> 이다.
메소드를 여러개 정의해두면 사실 순서대로 진행되는 줄 알았는데
이건 좀 다른 케이스인가? 병렬로 실행되는 게 아직은 잘 이해되지 않는데
이 부분은 쓰레드와 관련한 사항같다.
댓글
댓글 쓰기