Java Timer cancel() Method



Description

The Java Timer cancel() method is used to terminate this timer and discarding any currently scheduled tasks.

Declaration

Following is the declaration for java.util.Timer.cancel() method.

public void cancel()

Parameters

NA

Return Value

NA

Exception

NA

Cancelling a Timer Scheduled with Fixed Date and Initial Delay Example

The following example shows the usage of Java Timer cancel() method to cancel the timer operations currently scheduled. We've created a timer object using a CustomTimerTask object. CustomTimerTask is custom class extending TimerTask class and implements the run() method which will execute at scheduled time. Then we created a timer object and scheduled a task using scheduleAtFixedRate() to execute at every 100 milliseconds starting from now. Then using cancel() method, the timer operation is terminated.

package com.tutorialspoint;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class TimerDemo {
   public static void main(String[] args) {

      // creating timer task, timer
      TimerTask tasknew = new CustomTimerTask();
      Timer timer = new Timer();

      // scheduling the task
      timer.scheduleAtFixedRate(tasknew, new Date(), 100);

      // terminating the timer
      System.out.println("cancelling timer");
      timer.cancel();
   }
}

class CustomTimerTask extends TimerTask {

   @Override
   public void run() {
      System.out.println("working on");
   }  
}

Output

Let us compile and run the above program, this will produce the following result.

cancelling timer
working on

Cancelling a Timer Scheduled as Daemon thread Example

The following example shows the usage of Java Timer cancel() method to cancel the timer operations currently scheduled. We've created a timer object using a CustomTimerTask object. CustomTimerTask is custom class extending TimerTask class and implements the run() method which will execute at scheduled time. Then we created a timer object as a daemon thread and scheduled a task using scheduleAtFixedRate() to execute at every 100 milliseconds starting from now. Then using cancel() method, the timer operation is terminated.

package com.tutorialspoint;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class TimerDemo {
   public static void main(String[] args) {

      // creating timer task, timer
      TimerTask tasknew = new CustomTimerTask();
      Timer timer = new Timer(true);

      // scheduling the task
      timer.scheduleAtFixedRate(tasknew, new Date(), 100);

      // terminating the timer
      System.out.println("cancelling timer");
      timer.cancel();
   }
}

class CustomTimerTask extends TimerTask {

   @Override
   public void run() {
      System.out.println("working on");
   }  
}

Output

Let us compile and run the above program, this will produce the following result.

cancelling timer
working on

Cancelling a Named Timer Scheduled as Daemon Thread Example

The following example shows the usage of Java Timer cancel() method to cancel the timer operations currently scheduled. We've created a timer object using a CustomTimerTask object. CustomTimerTask is custom class extending TimerTask class and implements the run() method which will execute at scheduled time. Then we created a timer object as a daemon thread, with a given name and scheduled a task using scheduleAtFixedRate() to execute at every 100 milliseconds starting from now. Then using cancel() method, the timer operation is terminated.

package com.tutorialspoint;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class TimerDemo {
   public static void main(String[] args) {

      // creating timer task, timer
      TimerTask tasknew = new CustomTimerTask();
      Timer timer = new Timer("test",true);

      // scheduling the task
      timer.scheduleAtFixedRate(tasknew, new Date(), 100);

      // terminating the timer
      System.out.println("cancelling timer");
      timer.cancel();
   }
}

class CustomTimerTask extends TimerTask {

   @Override
   public void run() {
      System.out.println("working on");
   }  
}

Output

Let us compile and run the above program, this will produce the following result.

cancelling timer
working on
java_util_timer.htm
Advertisements