package net.java2000.util;
import java.util.Timer;
import java.util.TimerTask;
/**
* Timer同时执行多个定时任务的例子。
*
* @author 赵学庆,Java世纪网(java2000.net)
*
*/
public class TimeTestMulti {
public static void main(String[] args) {
final Timer timer = new Timer();
// 任务1, 每一秒执行一次
timer.schedule(new TimerTask() {
public void run() {
System.out.println("I am running 1 ...");
}
}, 0, 1000);
// 任务2,每0.5秒执行一次
timer.schedule(new TimerTask() {
public void run() {
System.out.println("I am running 2 ...");
}
}, 0, 500);
}
}
运行结果
I am running 1 ...
I am running 2 ...
I am running 2 ...
I am running 2 ...
I am running 1 ...
I am running 2 ...
I am running 2 ...
I am running 1 ...
I am running 2 ...
I am running 2 ...
I am running 1 ...
package net.java2000.util;import java.util.Timer;import java.util.TimerTask;/** * Timer同时执行多个定时任务的例子。 * * @author 赵学庆,Java世纪网(java2000.net) * */public class TimeTestMulti { public static void m
java用
timer
定时
任务
执行
了一段同步代码,当天同步没有问题,但是到第二天同步的时候就会出现同步多次的问题,有没有遇到类似问题的呢,具体代码如下
public class TaskManager extends HttpServlet {
private static final long serialVersionUID = 1L;
private Log log = LogFactory....
在开发中我们有时会有这样的需求,即在固定的每隔一段时间
执行
某一个
任务
。比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即
Timer
和
Timer
Task。
Timer
是一个普通的类,其中有几个重要的方法;而
Timer
Task则是一个抽象类,其中有一个抽象方法run(),类似线程中的run()方法,我们使用
Timer
创建一个他的对象,然后使用这对象的sched
public static void main(String[] args) {
Timer
timer
= new
Timer
();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 0); // 每天的0点开始
执行
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
timer
.schedule(new MyTask(), calendar.getTime(), 24 * 60 * 60 * 1000); // 每隔24小时
执行
一次
在这个
例子
中,我们创建了一个继承自
Timer
Task的MyTask类,并在其中实现了我们需要
执行
的
定时
任务
。在Main类中,我们创建了一个
Timer
对象,并设置Calendar对象来指定
定时
任务
的开始时间。我们使用schedule()方法来安排
定时
任务
的
执行
,第一个参数是我们的
任务
对象,第二个参数是指定开始
执行
的时间,第三个参数是指定每隔多长时间
执行
一次。在这个
例子
中,我们设置为每隔24小时
执行
一次。