timer.schedule的定时周期任务为什么只执行一次?而不是按时间周期执行?

书浅 2004-08-30 05:34:29
timer.schedule(new TimerTask() {
System.out.println("任务执行");
}, 0, 10*1000);

需要做一个功能,每隔一段时间执行一下。查了一些资料,但很奇怪的为什么这个语句每隔10秒并不会自动执行?而是只会执行一次?
请教了,多谢!!

较全的源码:
public class test extends HttpServlet implements ServletContextListener{
private java.util.Timer timer = null;

public void contextInitialized(ServletContextEvent event) {
timer = new java.util.Timer(true);
System.out.println("定时器已启动");
timer.schedule(new TimerTask() {
System.out.println("任务执行");
}, 0, 10*1000);
System.out.println("已经添加任务调度表");
}
public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
System.out.println("定时器销毁");
}
}

web.xml中配置:
<web-app>
<listener>
<listener-class>com.tools.test</listener-class>
</listener>
...
...全文
993 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
书浅 2004-09-27
  • 打赏
  • 举报
回复
谢谢两位的回复。结贴散分。
licdut 2004-09-24
  • 打赏
  • 举报
回复
你检查一下是不是在执行定时任务的时候出错了或执行周期太短造成了错误。我用的方法与你这里提供的方法是一样的但我的执行周期是一小时一次己使用半年了都是正常的。
书浅 2004-09-13
  • 打赏
  • 举报
回复
up
书浅 2004-09-01
  • 打赏
  • 举报
回复
up.
书浅 2004-08-30
  • 打赏
  • 举报
回复
run方法也编译通过了,但是也是只执行一次。
pigo 2004-08-30
  • 打赏
  • 举报
回复

你没有实现run 方法也编译通过了?



我写的:

timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println("测试一下");

}
}, 0, 10* 1000);

书浅 2004-08-30
  • 打赏
  • 举报
回复
up

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧