0

我目前正在修改一个应用程序以使用 aScheduledExecutorService代替 aTimer并且我曾经使用我保留的 a 访问计划任务Map,它允许我访问cancel()该任务以及访问它。

使用这个 API,我似乎必须维护两个Maps,一个用于访问任务,一个用于SheduledFuture<?>返回的 sschedule()以便能够取消它们。

我读了这篇文章,但与我使用 a 所做的相比,它看起来非常繁重Timer(只Map需要一个)。

这是一个简单的应用程序,它有两个需要访问和取消的任务。

有什么我没有得到的,或者“执行者”不是我需要的东西吗?

4

1 回答 1

1

所以你想要以下:

  1. 您希望提交任务实例,因为它有一些信息。
  2. 您需要能够取消提交的任务。

修改您提交的任务的类定义以在其中包含 Future 的实例。现在,当您向它提交任务时,ExecutorService它会返回一个Future,您可以在提交的任务对象中设置这个 Future 对象。所以现在您只需要保留提交的任务,您将获得信息以及通过未来取消任务的能力。

于 2013-05-26T12:32:58.690 回答