java言語 java.util.Timerクラスの使い方:定時タスクを実行サンプル

サンプルコード下記:

java.util.Timer タイマースレッド
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class MyTimer {
public static void main(String[] args) {
MyTimer mt = new MyTimer();
System.out.println(mt.getNowTime());
// mt.test2(mt.getNDate(10));
mt.test3(mt.getNDate(5), 1000*3);
}

//指定した遅延時間の後に指定されたタスクを実行
public void test1(int delay) {
new Timer().schedule(new TimerTask(){
public void run() {
System.out.println(getNowTime());
}
}, delay);
}

//指定した時刻に指定されたタスクを実行
public void test2(Date date) {
new Timer().schedule(new TimerTask(){
public void run() {
System.out.println(getNowTime());
}
}, date);
}

//指定されたタスクは指定された時間内に繰り返す実行
public void test3(Date date, int delay) {
new Timer().schedule(new TimerTask() {
public void run() {
System.out.println(getNowTime());
}
}, date, delay);
}

//現在の時刻を取得 文字列形式
public String getNowTime() {
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss");
return sdf.format(new Date(System.currentTimeMillis()));
}

//現在の時刻をより大きい日付を取得
public Date getNDate(int n) {
Calendar rightNow = Calendar.getInstance();
rightNow.add(Calendar.SECOND, n);
return rightNow.getTime();
}
}

Development

Posted by arkgame