java.util.Timer,创建多个任务如何管理

用java.util.Timer写了一个创建定时任务的类,每执行一次会创建一个定时任务,创建多个任务如何管理多次执行会创建多个定时任务,执行都没问题。问题是创建出多个定时... 用java.util.Timer写了一个创建定时任务的类,每执行一次会创建一个定时任务,创建多个任务如何管理
多次执行会创建多个定时任务,执行都没问题。
问题是创建出多个定时任务,怎么管理,我想取消其中的一个,怎么做?
public class CreateTaskAction extends BaseAction implements ServletRequestAware{
//省略N行
public static Timer timer;
//省略N行
public String execute() throws Exception {
//省略N行
// 定时执行任务
timer = new Timer();
timer.schedule(new TimingTask("参数略"), 时间略);
//省略N行
}
// 定时任务
private class TimingTask extends TimerTask {
//省略N行
}
}
展开
 我来答
百度网友9308069
2012-02-08 · TA获得超过1万个赞
知道大有可为答主
回答量:3947
采纳率:89%
帮助的人:1863万
展开全部
你该把各个TimingTask的实例对象管理起来,而不是用匿名类对象吧
TimingTask tasks[]=new TimingTask[2];
tasks[0]=new TimingTask(){
run(){ 动作1 }
};
tasks[1]=new TimingTask(){
run(){ 动作2 }
};
tasks[0].cancel(); //取消动作一

当然也可以把数组[]改成List,便于动态添加和删除
更多追问追答
追问
每次创建定时任务就会new一个Timer和new一个TimingTask(继承TimerTask),2个对象都有.cancel()方法,取消这次定时是用new TimingTask("参数略")的.cancel()方法吗
追答
Timer.cancel()取消的是该Timer上所有的任务 ,Task.cancel()取消的自己一个任务
一个Timer可以支持n个Task。
有多个任务用一个timer就可以。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1830aac
2012-02-08 · 超过33用户采纳过TA的回答
知道答主
回答量:137
采纳率:0%
帮助的人:100万
展开全部
擦,楼上太复杂了把,既然是web应用,何不创建一个list,把这些timer任务对象放在list中,然后把list放在application中,每次存取时只需要去application中就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式