ฉันกำลังใช้java.util.Timer
คลาสและฉันกำลังใช้วิธีกำหนดเวลาเพื่อทำงานบางอย่าง แต่หลังจากดำเนินการไป 6 ครั้งฉันต้องหยุดงานของมัน
ฉันควรทำอย่างไร?
ฉันกำลังใช้java.util.Timer
คลาสและฉันกำลังใช้วิธีกำหนดเวลาเพื่อทำงานบางอย่าง แต่หลังจากดำเนินการไป 6 ครั้งฉันต้องหยุดงานของมัน
ฉันควรทำอย่างไร?
คำตอบ:
อ้างอิงถึงตัวจับเวลาที่ใดที่หนึ่งและใช้:
timer.cancel();
timer.purge();
หยุดสิ่งที่กำลังทำอยู่ คุณสามารถใส่รหัสนี้ในงานที่คุณกำลังดำเนินการโดยใช้ a static int
เพื่อนับจำนวนครั้งที่คุณไปรอบ ๆ เช่น
private static int count = 0;
public static void run() {
count++;
if (count >= 6) {
timer.cancel();
timer.purge();
return;
}
... perform task here ....
}
cancel
ก็ใช้ได้
โทรทั้งcancel()
บนTimer
ถ้านั่นคือทั้งหมดที่มันทำหรือcancel()
บนTimerTask
ถ้าจับเวลาตัวเองมีงานอื่น ๆ ที่คุณต้องการดำเนินการต่อ
คุณควรหยุดงานที่คุณกำหนดไว้ในตัวจับเวลา: ตัวจับเวลาของคุณ:
Timer t = new Timer();
TimerTask tt = new TimerTask() {
@Override
public void run() {
//do something
};
}
t.schedule(tt,1000,1000);
เพื่อหยุด:
tt.cancel();
t.cancel(); //In order to gracefully terminate the timer thread
โปรดสังเกตว่าการยกเลิกตัวจับเวลาจะไม่ยุติการจับเวลาที่กำลังดำเนินอยู่
timer.cancel(); //Terminates this timer,discarding any currently scheduled tasks.
timer.purge(); // Removes all cancelled tasks from this timer's task queue.
ยุติการตั้งเวลาหนึ่งครั้งหลังจากตื่นนอนในเวลาที่กำหนดเป็นมิลลิวินาที
Timer t = new Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
System.out.println(" Run spcific task at given time.");
t.cancel();
}
}, 10000);