天天看點

java map 定時_java實作定時執行某個任務

該方法适用于,需要每天某個時刻定時(重複)執行某個任務的情況。代碼如下:

package com.yjl.timer;

import java.util.Calendar;

import java.util.Date;

import java.util.Timer;

import java.util.TimerTask;

public class TestTimer {

//要定時執行的任務(作為守護線程存在)

TimerTask task = new TimerTask() {

@Override

public void run() {

System.out.println("執行任務了!!!!");

}

};

private  Date firstTime = null;

private long period = 2000;

public void runTask() {

Calendar calendar = Calendar.getInstance();

//calendar.set(Calendar.DAY_OF_YEAR, 2);//一年中的第幾天

calendar.set(Calendar.HOUR_OF_DAY, 14);//一天中的第幾個小時

calendar.set(Calendar.MINUTE, 17);//第幾分鐘

calendar.set(Calendar.SECOND, 0);//第幾秒

//第一次執行定時任務的時間(如果在這時間之後執行這個方法,依然會執行任務,即設定的是14點執行任務,14點之後的任何時間開始該任務都會執行指定任務)

Date date = calendar.getTime();

firstTime = date;

//建立一個新的定時器

Timer timer = new Timer();

//參數一:所要安排的任務。參數二:首次執行任務的時間。參數三:執行各後續任務之間的時間間隔,機關是毫秒。

timer.scheduleAtFixedRate(task, firstTime, period);

}

public static void main(String[] args) {

TestTimer testTimer = new TestTimer();

testTimer.runTask();

}

}