2016-03-08 20 views
0

我有一個函數,當我點擊一個按鈕,它啓動一個線程,我想要它做的是當我點擊另一個按鈕,它會停止線程。我正在使用的線程計時器看起來像這樣。如何停止java java.util.Timer()

new java.util.Timer().scheduleAtFixedRate(new java.util.TimerTask() { 
       @Override 
       public void run() { 
        //Blah Blah Blah  
       } 
      }, 20, 5000); 

回答

1
// call the method cancel to stop it 
    java.util.Timer time = new java.util.Timer(); 

    time.scheduleAtFixedRate(new java.util.TimerTask() { 
      @Override 
      public void run() { 
       //Blah Blah Blah  
      } 
     }, 20, 5000); 

    time.cancel(); 
+0

這個工作只是我想它的方式,但如果我現在點擊重新開始它說定時器已經取消。 –

+0

爲了解決這個問題,我每次點擊開始按鈕時都會創建一個新的定時器。 –

+0

或者您可以在對象時間調用purge()方法。 –

0

爲什麼你甚至需要一個定時器來完成這個任務?定時器用於調度未來或特定間隔的線程執行。

根據您的任務描述,您只需監聽按鈕按鈕,並在觸發時啓動/停止線程。

+0

我很抱歉,我忘了提我送socket到樹莓派和等待響應,同時我也開始按鈕激活 –