开发项目中需要定时的执行一段程序,网上查了下
说是要用Timer这个类,
根据例子写了这个,可是为什么只打印了一次?而不是每五秒钟打印一次?
如果这不行,那定时执行Java程序又该如何做?
TimerTask.javaimport java.util.Timer;public class TimeTask {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new Task(), 5*1000);
}
}
所要定时执行的代码
Task.javapublic class Task extends TimerTask{ @Override
public void run() {
System.out.println("定时任务执行");
}
}
说是要用Timer这个类,
根据例子写了这个,可是为什么只打印了一次?而不是每五秒钟打印一次?
如果这不行,那定时执行Java程序又该如何做?
TimerTask.javaimport java.util.Timer;public class TimeTask {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new Task(), 5*1000);
}
}
所要定时执行的代码
Task.javapublic class Task extends TimerTask{ @Override
public void run() {
System.out.println("定时任务执行");
}
}
解决方案 »
- java web 项目开发疑问
- tomcat支持IPV6
- 用request.setAttribute在debug中没有值
- 无刷新技术问题
- JAVA运行时加载有啥好处
- ssh转EJB的问题?
- hibernate超级奇怪的问题
- hibernate中父子关系的子删除报错问题:deleted object would be re-saved by cascade (remove deleted object from associations)
- spring的跳转路径问题
- JSP如何通过JNDI连接SQL Server数据库?(在线等)
- jquery弹出窗效果
- PreparedStatement的困惑
public void schedule(TimerTask task,
long delay,
long period)
task - 所要安排的任务。
delay - 执行任务前的延迟时间,单位是毫秒。
period - 执行各后续任务之间的时间间隔,单位是毫秒。用这个方法
这一行改成 timer.schedule(new Task(), 5*1000, 5*1000);