[英]How to stop a timer in java
我有一個稱為計時器的方法,我在用戶每次輸入內容時都運行該計時器,並將計時器安排在一分鍾內,但是如果用戶在不到一分鍾的時間內輸入內容,然后我想讓自己重新調用,我希望計時器取消。 我的方法如下:
輸入法
public static String run(){
timer(); //runs everytime I call run()
String s = input.nextLine();
return s;
}
計時器方法
public static void timer() {
TimerTask task = new TimerTask() {
public void run() {
System.out.println("Times up");
}
};
long delay = TimeUnit.MINUTES.toMillis(1);
Timer t = new Timer();
t.schedule(task, delay);
}
每當有人輸入內容時,方法run()都會不斷被調用,因此計時器會不斷被調用,但是這不會停止以前的計時器,我希望計時器停止運行,然后重新調用自身,這樣就不會出現問題。 有人知道嗎?
TimerTask
類具有一個名為cancel()
的方法,您可以調用該方法來取消掛起的計時器。
在代碼中,您可能需要修改timer()
函數以返回對新創建的TimerTask
對象的引用,以便以后可以調用cancel()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.