如何在单独的线程和给定的间隔中重复运行此类的实例?
(您已经注意到我正在使用Java 2 EE)。

public class Gate extends AbsDBObject<Gate> implements Runnable{
  public void Run(){
    //Something
  }
}


我之前是通过Gate类扩展TimerTask类并使用Timer来完成此操作的:

Timer timer = new Timer();
Gate gates = Gate.fetchOne();
timer.schedule(gate, 0, 1000);


但是在这种情况下,我无法扩展任何其他类。我该怎么办?

最佳答案

如果使用ScheduledExecutorService,则只需执行Runnable对象,而不是TimerTask对象。

ScheduledExecutorService executorService =
    new ScheduledThreadPoolExecutor(corePoolSize);
Gate gate = Gate.fetchOne();
executorService.scheduleAtFixedRate(gate, 0, 1, TimeUnit.SECONDS);


这样就无需扩展。

关于java - 安排常规任务而不扩展TimerTask?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16053301/

10-12 00:11