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>
...
...全文
680 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
书浅 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
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-08-30 05:34
社区公告
暂无公告