來源:北大青鳥飛迅校區(qū)|發(fā)布時(shí)間:2013-05-03 17:43:42
Timer是一個(gè)定時(shí)器類,通過該類可以為指定的定時(shí)任務(wù)進(jìn)行配置。TimerTask類是一個(gè)定時(shí)任務(wù)類,該類實(shí)現(xiàn)了Runnable接口,而且是一個(gè)抽象類,如下所示:
public abstract class TimerTask implements Runnable
可以通過繼承該類,來實(shí)現(xiàn)自己的定時(shí)任務(wù)。
Timer定時(shí)器實(shí)例有多種構(gòu)造方法:
Timer()
創(chuàng)建一個(gè)新計(jì)時(shí)器。
Timer(boolean isDaemon)
創(chuàng)建一個(gè)新計(jì)時(shí)器,可以指定其相關(guān)的線程作為守護(hù)程序運(yùn)行。
Timer(String name)
創(chuàng)建一個(gè)新計(jì)時(shí)器,其相關(guān)的線程具有指定的名稱。
Timer(String name, boolean isDaemon)
創(chuàng)建一個(gè)新計(jì)時(shí)器,其相關(guān)的線程具有指定的名稱,并且可以指定作為守護(hù)程序運(yùn)行。
下面是一個(gè)使用Timer和TimerTask的例子:
package org.shirdrn;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimerTask extends TimerTask {
private int index = 0;
private Timer timer = new Timer();
@Override
public void run() {
System.out.println(index + ". current time : " + new Date().getTime());
index++;
}
public void start() {
timer.schedule(this, 5000); // 設(shè)置該定時(shí)任務(wù)MyTimerTask在5s后執(zhí)行
System.out.println("scheduled time : " + this.scheduledExecutionTime()); // 打印出定時(shí)任務(wù)執(zhí)行時(shí)間
}
public long getScheduleTime() {
return this.scheduledExecutionTime();
}
public static void main(String[] args) {
MyTimerTask mtt = new MyTimerTask();
mtt.start();
}
}
可以得到如下輸出:
scheduled time : 1233552478062
0. current time : 1233552478062
全程面授,不高薪都難
申請成功后,我們將在24小時(shí)內(nèi)與您聯(lián)系
招生熱線: 4008-0731-86 / 0731-82186801
學(xué)校地址: 長沙市天心區(qū)團(tuán)結(jié)路6號(hào)
Copyright © 2006 | 湖南大計(jì)信息科技有限公司 版權(quán)所有
湘ICP備14017520號(hào)-3