Timer & TimerTask
Timer클래스는 일종에 스케쥴러이다. 이 클래스는 Single쓰레드를 갖으며 백그라운드에서 실행되면서 Clock 을 모니터링 하고있다가 지정된 스케쥴에 따라 하나 이상의 TimerTask를 실행하는 구조이다.
TimerTask 는 사실상 java.lang.Runnerable 인터페이스를 구현한 쓰레드 프로그래밍이다. 따라서 이 클래스의 서브클래스를 만들어 Timer Task로 이용하면 되는데 Runnerable 인터페이스의 run()메소드를 구현해 줘야한다.(쓰레드 프로그래밍과 동일)
import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Timer; import java.util.TimerTask;
public class DateTest {
/** * @param args */ public static void main(String[] args) { Timer timer = new Timer(); TimerTask task = new TimerTask() { public void run() { System.out.println("JUNGSIG's Birthday !!"); } };
Calendar cal = new GregorianCalendar(2013, Calendar.JULY, 17); timer.schedule(task, cal.getTime());
}
} |
위
코드에서는
2013
년
7
월
17
일에
TimerTask
를
실행하도록
스케쥴링
되어있다
.
Calendar & Time zone
TimeZone 클래스를 Calendar클래스와 함께 이용하게되면 해당 지역의 시간으로 설정 할 수있다.
// 기본 Time Zone
TimeZone tz = Calendar.getInstance().getTimeZone();
// 런던의 시간을 기준으로 Calendar를 설정한다.
TimeZone timeZone = TimeZone.getTimeZone("Europe/London");
Calendar calendar = new Calendar.getInstance();
calendar.setTimeZone(timeZone);
'Java > Core Utilities' 카테고리의 다른 글
Preferences & PreferenceChangeListener (0) | 2013.02.09 |
---|---|
Properties (0) | 2013.02.09 |
Collection, Map 클래스의 사용시 성능과 계층구조 (0) | 2013.02.09 |
Collections과 정렬 (0) | 2013.02.09 |
Date, Calendar and TimeZone (0) | 2013.02.08 |