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
Posted by Steven J.S Min
,