如何使用Java并发API来获取对计划执行的任务的引用?
我可以做这样的事情,并保持对myRunnable的引用:
ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();
SimpleRunnable myRunnable = new SimpleRunnable();
exec.scheduleAtFixedRate(myRunnable, 0, 2, TimeUnit.SECONDS);
但有没有办法使用Executor服务或ScheduledFuture
来获取参考?
This question显示了Future
个对象的集合,并讨论了它们对任务的引用,但我没有看到任何公开的API方法暴露它。
答案 0 :(得分:0)
未来引用表示异步任务的计算结果,而任务本身基本上是您传递给scheduleAtFixedRate方法的可运行引用(' myRunnable'在下面的示例中)。
ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();
SimpleRunnable myRunnable = new SimpleRunnable();
ScheduledFuture<?> future = exec.scheduleAtFixedRate(myRunnable, 0, 2,
TimeUnit.SECONDS);
我认为您无法从执行程序本身检索Runnable。 请详细说明您愿意达到的目标,并且我会尽力为您提供帮助。