startAtFixedInterval のタイマーによって起動された timedtask があり、間隔が長いです。時限タスクの仕事は、Web サイトの変更をチェックすることです。
間隔の終了を待たずに新しい結果を取得するために、ユーザーが間隔の途中でタスクを手動で再開できるようにしたいと思います。reset() メソッドが表示されないので、タスクを停止して再起動する必要があると思いますが、そうですか? または、実際に方法/最良の選択肢がありますか?
startAtFixedInterval のタイマーによって起動された timedtask があり、間隔が長いです。時限タスクの仕事は、Web サイトの変更をチェックすることです。
間隔の終了を待たずに新しい結果を取得するために、ユーザーが間隔の途中でタスクを手動で再開できるようにしたいと思います。reset() メソッドが表示されないので、タスクを停止して再起動する必要があると思いますが、そうですか? または、実際に方法/最良の選択肢がありますか?
java.util.Timerクラスにはメソッドcancel()
があります。現在のタイマータスクをキャンセルします。そして、現在のタイマータスクがキャンセルされたら、新しいタスクを起動します。
使用できますScheduledExecutorService
public static void main(String[] args) throws InterruptedException {
Runnable command = new Runnable() {
@Override
public void run() {
System.out.println("I am done..");
}
};
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.scheduleAtFixedRate(command, 1000, 1000, TimeUnit.MILLISECONDS);
}