定时器,就是五分中之后没有对程序进行操作,让程序自动退出。
现在写一下几个常用的方式,就以定时为例
1,两秒之后爆炸
//定义一个两秒之后的定时器,两秒之后爆炸
Timer timer1 = new Timer();
timer1.schedule(new TimerTask(){
@Override
public void run() {
System.out.println("爆炸...");
}
}, 2000);
2.两秒之后一个爆炸,以后是每个一秒爆炸一次,连环爆炸
//两秒之后第一个爆炸,之后每隔一秒爆炸一次
Timer timer2 = new Timer();
timer2.schedule(new TimerTask(){
@Override
public void run() {
System.out.println("爆炸...");
}
}, 2, 1);
3.一个连环,先隔两秒爆炸一次,然后隔四秒爆炸一次,然后再两秒,四秒
//一个连环,先隔两秒爆炸一次,然后隔四秒爆炸一次,然后再两秒,四秒
class MyTimerTask extends TimerTask{
@Override
public void run() {
count = (count + 1)%2;
System.out.println("爆炸...");
new Timer().schedule(new MyTimerTask(), 2000 + 2000*count);
}
}
Timer timer3 = new Timer();
timer3.schedule(new MyTimerTask(), 2000);
4.让某日某个时候爆炸
Timer timer4 = new Timer();
timer4.schedule(task, time);
task 是TimerTask
timer 是Date类型
5.每天某个时候爆炸
timer4.schedule(task, delay, period);
timer4.scheduleAtFixedRate(task, firstTime, period);
用其中一个方法即可
period是long类型的
当然第4和第5有第三方的可以让我们使用,直接配置就可以比如quartz
本文介绍了使用Java的Timer类实现不同频率定时任务的方法,包括两秒爆炸、连环爆炸和特定时间点爆炸等场景。详细阐述了如何通过TimerTask和schedule方法来定制定时任务的触发条件和执行行为。
2万+

被折叠的 条评论
为什么被折叠?



