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....");
}
}
Java并发之Timer,TimerTask
原创
©著作权归作者所有:来自51CTO博客作者wx63db212c2853a的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:web标准开发-ppt讲义
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【转载】java Timer TimerTask
1,TimerTimer的实质上就是一个多线程,从它的类中可以看出:private TimerThread thread = new TimerThread(queue);它
Java 多线程 thread Time System -
Timer 和TimerTask
1.概览Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。
timer 任务 class thread delay -
Java Timer, TimerTask, Timer.Schedule
Java Timer, TimerTask, Timer.Schedule
java 任务计划 html 执行时间 linux