【发布时间】:2011-01-08 15:50:42
【问题描述】:
我正在跟进一个有趣的question,关于使用 ScheduledThreadPoolExecutor 执行某些重复任务。
调度此对象会返回一个 ScheduledFuture 对象,可以使用该对象取消任务的下一次运行。
这里需要注意的一点是,任务本身与日程完全解耦--
ScheduledExecutorService executor = new ScheduledThreadPoolExecutor(1);
ScheduledFuture nextSchedule =
executor.schedule(task, 60000, TimeUnit.MILLISECONDS);
在哪里-
SomeTask task = new SomeTask();
所以任务本身并不知道时间表。如果有办法让任务取消并为自己创建一个新的计划,请赐教。
谢谢
【问题讨论】:
-
顺便说一句,通常的做法是至少对您接受的答案进行投票(“这个答案很有用”是投票图标的标题)
标签: java timer scheduling timer-jobs