如何在单独的线程和给定的间隔中重复运行此类的实例?
(您已经注意到我正在使用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/