你可以为此使用ScheduledExecutorService。首先,你只提交一次即可立即开始,并保留创建的未来。之后,你可以提交新任务,该任务将在一段时间后取消保留的将来。
ScheduledExecutorService executor = Executors.newScheduledThreadPool(2); final Future handler = executor.submit(new Callable(){ ... }); executor.schedule(new Runnable(){ public void run(){ handler.cancel(); } }, 10000, TimeUnit.MILLISECONDS);这将使你的处理程序(主要功能被中断)执行10秒钟,然后将取消(即中断)该特定任务。



