Saya menggunakan java.util.Timer
kelas dan saya menggunakan metode jadwal untuk melakukan beberapa tugas, tetapi setelah menjalankannya selama 6 kali saya harus menghentikan tugasnya.
Bagaimana saya harus melakukan itu?
Simpan referensi ke pengatur waktu di suatu tempat, dan gunakan:
timer.cancel();
timer.purge();
untuk menghentikan apa pun yang dilakukannya. Anda dapat memasukkan kode ini ke dalam tugas yang Anda lakukan dengan a static int
untuk menghitung berapa kali Anda berkeliling, mis
private static int count = 0;
public static void run() {
count++;
if (count >= 6) {
timer.cancel();
timer.purge();
return;
}
... perform task here ....
}
cancel
itu sendiri akan berhasil.Entah panggilan
cancel()
padaTimer
jika semua itu dilakukan, ataucancel()
padaTimerTask
jika timer itu sendiri memiliki tugas-tugas lain yang Anda ingin melanjutkan.sumber
Anda harus menghentikan tugas yang telah Anda jadwalkan pada timer: Timer Anda:
Timer t = new Timer(); TimerTask tt = new TimerTask() { @Override public void run() { //do something }; } t.schedule(tt,1000,1000);
Untuk menghentikan:
tt.cancel(); t.cancel(); //In order to gracefully terminate the timer thread
Perhatikan bahwa hanya membatalkan timer tidak akan menghentikan timertas yang sedang berlangsung.
sumber
timer.cancel(); //Terminates this timer,discarding any currently scheduled tasks. timer.purge(); // Removes all cancelled tasks from this timer's task queue.
sumber
Hentikan Pewaktu sekali setelah bangun pada waktu tertentu dalam milidetik.
Timer t = new Timer(); t.schedule(new TimerTask() { @Override public void run() { System.out.println(" Run spcific task at given time."); t.cancel(); } }, 10000);
sumber