14

java.util.TimerオブジェクトのisCancelledメソッドがないのはなぜですか?

タイマーがキャンセルされていない場合はタスクをスケジュールし、キャンセルされている場合は直接 (同じスレッドで) 実行したいと思います。

IllegalStateExceptionタイマーが既にキャンセルされている場合に発生する可能性があることをキャッチする唯一のオプションはありますか? ( をキャッチするのは間違っているように感じますIllegalStateException)。

4

1 に答える 1

14

使用したいことをどの程度確信していますTimerか?ExecutorService代わりに使用してください。これには、isShutdown起動するための他の多くの利点があります。TimerJava 5の時点での一般的な推奨事項は、 sをsに置き換えることExecutorServiceです。

ScheduledExecutorServiceスケジュールされたエグゼキュータサービス専用のインターフェイスがあります。いずれかの方法を使用してインスタンス化しExecutors.new...ます。

于 2012-12-14T14:09:46.453 に答える