java类中的定时器

2025-03-09 07:54:32
推荐回答(5个)
回答1:

你这种方式不行。如果程序只要抛出了Exception,那么你这个定时器就崩溃了,这种定时器是最脆弱的。
可以用Spring集成的那种,可以配置时间,也可以自己控制时间,还可以拿Session之类的操作。操作数据库都行,也没有那么脆弱
我刚刚好写了一个实现。需要的话我传Demo给你吧
8446666 你懂的Q

回答2:

t.schedule(new DemoTask(), 1000*delay, interval*60*1000);

不要这样用

这还不好办吗

你在你的DemoTask()执行完毕那时刻,调用t.start();//启动定时器

然后再在定时器中五分钟自后调用DemoTask(),并关闭定时器

如下代码

t1= new Timer(5000, new ActionListener(){

@Override

public void actionPerformed(ActionEvent arg0) {

DemoTask();

t1.stop();

}

});

void DemoTask()

{

//执行完毕时候

t1.start();

}

注意程序没经调试,可能稍有细节要稍加修改

大体含义就是这样的

回答3:

你可以添加一个线程,让这个DemoTask等五分钟执行。Thread.sleep(5*60*1000);这样程序会执行到你添加的地方后休息五分钟,然后继续执行

回答4:

你想要实现这个功能,用Timer不好实现,建议你用quartz定时服务,很简单,设置cron表达式很容易实现。

cron表达式 0 0/5 * * * ?

回答5:

定时器没用过,不过我想到一个方法,不知道可不可行:
while(true){
DemoTask();
wait(5*60*1000);
}
感觉功能上应该差不多吧