1. 程式人生 > >63、使用Timer類來實現定時任務

63、使用Timer類來實現定時任務

定時任務

定時任務就是讓計算機自動的每隔一段時間執行的程式碼。
比如要實現這樣的一個功能:
讓計算機每隔5秒鐘,在控制檯列印一個www.monkey1024.com
可以使用java.util包下的Timer類和TimerTask類來實現。

TimerTask是一個實現了Runnable介面的抽象類,需要編寫一個類繼承TimerTask類,將要在定時任務執行的程式碼編寫在run方法中。

package com.sutaoyu.volatlt;

import java.util.TimerTask;

public class MyRimerTask extends TimerTask{
    
    
public void run() { System.out.println("www.monkey1024.com"); } }

要想執行定時任務,需要建立Timer的物件並呼叫裡面的schedule方法,在Timer類中有多個過載的schedule方法,這裡咱們使用這個:

schedule(TimerTask task, Date firstTime, long period);

第一個引數接收TimerTask物件,即上面建立的MyTimerTask
第二引數的Date型別是定時任務執行的開始時間
第三個引數指定定時任務每隔多少毫秒執行一次

package
com.sutaoyu.volatlt; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Timer; public class VolatileTest01 { public static void main(String[] args) throws IOException, ParseException{ Timer t = new Timer(); t.schedule(
new MyTimerTask(), new SimpleDateFormat("yyyy-MM-dd hh:mm:ss SSS").parse("2017-07-03 18:09:00 000"), 5000); } }