1

我正在寻找有关如何管理多个计时器任务的指导。我希望能够动态创建计时器,然后当每个计时器完成时,它会自行重置。

例子:

计时器 1 - 执行动作 x - 重置为在 30 分钟内再次执行动作 x

计时器 2 - 执行动作 y - 重置为在 10 分钟内再次执行动作 y

4

3 回答 3

5

您想要的是ScheduledExecutorService

它允许您安排任务在给定时间或以给定速率运行。

于 2009-10-13T19:24:53.247 回答
1

以下代码创建一个计时器,并在初始延迟 500 毫秒后每 1000 毫秒执行一次。您可以通过这种方式轻松定义两个或多个计时器。

TimerTask task = new TimerTask() {
    @Override
    public void run() {
        System.out.println( "exec" );
    }
};

new Timer().scheduleAtFixedRate( task, 500, 1000 );
于 2009-10-13T19:22:23.863 回答
0

也许值得回顾一下Quartz Enterprise Job Scheduler

Quartz 是一个功能齐全的开源作业调度系统,可以与几乎任何 J2EE 或 J2SE 应用程序集成或一起使用——从最小的独立应用程序到最大的电子商务系统。Quartz 可用于创建简单或复杂的调度,以执行数十、数百甚至数万个作业;任务被定义为标准 Java 组件或 EJB 的作业。

于 2009-10-14T10:24:16.273 回答