0

私は現在ScheduledExecutorService、 の代わりにを使用するようにアプリケーションを変更しています。以前は、保持Timerした を使用してスケジュールされたタスクにアクセスしていましたが、タスクにアクセスするだけでなく、タスクにアクセスすることもできました。Mapcancel()

この API ではMap、2 つの を維持する必要があるようです。1 つはタスクにアクセスするため、もう 1 つSheduledFuture<?>は によって返されschedule()た をキャンセルできるようにするためです。

私はこの投稿を読みましたが、私がしたことと比較して実装するのは非常に重いようですTimer(1 つだけMapが必要でした)。

これは、アクセスしてキャンセルする必要がある 2 つのタスクを持つ単純なアプリケーションです。

私が取得できなかったものはありますか、それとも「Executor は、この単純なものに必要なものではありませんか?」

4

1 に答える 1

1

したがって、次のことが必要です。

  1. いくつかの情報があるため、送信されたタスクのインスタンスが必要です。
  2. 提出されたタスクをキャンセルする機能が必要です。

サブミットされたタスクのクラス定義を変更して、Future のインスタンスを含めます。タスクを送信するとExecutorService、 が返さFutureれます。送信されたタスク オブジェクトにこの Future オブジェクトを設定できます。したがって、送信されたタスクを保持するだけで、将来的にタスクをキャンセルする機能だけでなく、情報も得られます。

于 2013-05-26T12:32:58.690 に答える