Her şeyi denedim. Java.util.Timer sınıfında zamanlanan görev hemen nasıl durdurulur
- böyle Timer planlamak:
zamanlayıcı Bu seferki çok How to stop the task scheduled in Java.util.Timer class
ben 2 yolla bu görevi diyoruz java.util.TimerTask
uygulayan bir görev var. zamanlama (timerTask, 60 * 1000);
bazen ben hemen başlamak o işi gerekiyor ve
cancelCurrentWork()
çalıştığını herhangi varsa timerTask iptal zorundadır; timer.schedule (timerTask, 0);
Bu uygulama, şu anki iş bitmiyor: (belgelerine diyor ki: bu çağrı oluştuğunda görev çalışıyorsa, görev tamamlanma çalışır, ancak yeniden aday asla)
Ama durdurmak için ona ihtiyacım var.
public static void cancelCurrentwork() {
if (timerTask!= null) {
timerTask.cancel();
}
}
Bu uygulama, yalnızca zamanlayıcıyı iptal eder, ancak şu anda bitecek görevi gerçekleştirmeyi bırakır.
public static void cancelCurrentwork() {
if (timer!= null) {
timer.cancel();
}
}
akım yürütülmesi TAKS STOP zamanlayıcı bir yolu Thread.kill() falan gibi bir şey var mı? Durdurmak için bu göreve ihtiyacım olduğunda, tüm verilerini kaybetmesini istiyorum.
Ve işin içindeki görevden nasıl durulur? Ben boolean ile kontrol edebilirdim, ama sonra hangi yöntemi çağırmalıyım? this.cancel()? – vale4674
Ve diğer soru: ScheduledExecutorService gibi herhangi bir API ya da bu gibi bir DURDURMA görevini yapmanızı sağlar? – vale4674
Hayır, sadece "run" yönteminden dönüyorsunuz. – aioobe