您的位置:首页 > 编程语言 > Java开发

Java并发之Timer,TimerTask

2017-07-07 11:51 211 查看
package com.lxht.test;

import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class TestTimer {
public static void main(String[] args) {
Timer timer = new Timer(); //创建一个新的时间调度器
Date t = Calendar.getInstance().getTime();
System.out.println(new Date());
t.setTime(System.currentTimeMillis() - 20000); //设置运行时间从当前时间往前推20秒
long period = 5000;  //设置调度周期为5秒执行一次

timer.schedule(new MyTask(),t); //开始执行任务,只执行一次
timer.schedule(new MyTask(), t,period); //开始执行任务,每5秒执行一次
/*
 * 开始执行任务,每5秒执行一次,但把之前漏过的时间点重新执行一遍
 * 如往前推20秒,每5秒执行一次,则会比schedule()多执行4次(20/5)
*/
timer.scheduleAtFixedRate(new MyTask(),t,period);
}

}


class MyTask extends TimerTask {

     public MyTask() {

}

@Override

     public void run() { 

 System.out.println(new Date()+ ";running....");    

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: