簡體   English   中英

如何在Java中停止計時器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM