私はすべてを試しました。これもJava.util.Timerクラスでスケジュールされたタスクを停止する方法
java.util.TimerTaskを実装するタスクが1つあります
私はそのタスクを2つの方法で呼び出します。
私はこのようにタイマーをスケジュールします:
timer.schedule(timerTask、60 * 1000);
時々私はその作業をすぐに開始する必要があり、動作しているものがある場合はtimerTaskをキャンセルする必要があります
cancelCurrentWork(); timer.schedule(timerTask、0);
この実装は現在の作業を停止しません:(ドキュメントによると:この呼び出しが発生したときにタスクが実行されている場合、タスクは完了するまで実行されますが、二度と実行されることはありません)
しかし、私はそれを止める必要があります。
public static void cancelCurrentwork() {
if (timerTask!= null) {
timerTask.cancel();
}
}
この実装はタイマーをキャンセルするだけですが、現在実行中のタスクは終了します。
public static void cancelCurrentwork() {
if (timer!= null) {
timer.cancel();
}
}
Thread.kill()など、現在実行中のタックを停止する方法はタイマーにありますか?そのタスクを停止する必要があるときは、すべてのデータを失うようにします。