我正在寻找有关如何管理多个计时器任务的一些指导。我希望能够动态创建计时器,然后当每个计时器完成时,它将自行重置。
示例:
计时器1 - 执行行动x - 重置以在30分钟内再次执行操作x
计时器2 - 执行行动y - 在10分钟内再次重置为动作y
答案 0 :(得分:5)
你想要的是ScheduledExecutorService。
它允许您安排任务在给定时间或以给定速率运行。
答案 1 :(得分:1)
以下代码创建一个计时器,并在500 ms的初始延迟后每1000 ms执行一次。您可以通过这种方式轻松定义两个或多个计时器。
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println( "exec" );
}
};
new Timer().scheduleAtFixedRate( task, 500, 1000 );
答案 2 :(得分:0)
也许值得回顾一下Quartz Enterprise Job Scheduler
Quartz是一个功能齐全的开源作业调度系统,可以与最小的独立应用程序集成,或者与几乎任何J2EE或J2SE应用程序一起使用 - 从最小的独立应用程序到最大的电子商务系统。 Quartz可用于创建简单或复杂的计划,以执行数十,数百甚至数万个作业;任务被定义为标准Java组件或EJB的作业。