2012-02-22 16 views
0

私はScheduledExecutorServiceを使用しています。私はscheduleFutureでcancelメソッドを呼び出した後、その上にRunnableをスケジュールできません。 cancel()の後にscheduleAtFixedRate(runnable, INITIAL_DELAY, INTERVAL, TimeUnit.SECONDS)を呼び出すと、何も起こりません。 cancel()メソッドが呼び出された後にScheduledExecutorServiceを再起動する方法はありますか?スケジュールされたexececutorserviceを複数回起動および停止する方法

答えて

0

Futureのノートとその実装FutureTaskのメモを確認してください。

cancel()メソッドを呼び出すことの効果はそれである:

  • subsequent calls to isDone() will always return true. Subsequent
    calls to isCancelled() will always return true if this method
    returned true.
  • Once the computation has completed, the computation cannot be restarted or cancelled.

意味、もしisDone()戻りtrueへの呼び出し、あなたはcancel()に電話をかけたかどうか、サービスの同じインスタンスを使用することはできません。

+0

私はサービスを開始して停止し、もう一度やり直す方法を提案してください。 – user1128158

関連する問題