TimerTask es una clase abstracta definida en el paquete java.util. La clase TimerTask define una tarea que se puede programar para que se ejecute solo una vez o por varias veces. Para definir un objeto TimerTask, esta clase debe implementarse y el método de ejecución debe anularse. El método de ejecución se invoca implícitamente cuando un objeto de temporizador lo programa para hacerlo.
Nota: Se utiliza una instancia de la clase TimerTask para definir una tarea que debe ejecutarse periódicamente.
Constructores:
- TimerTask() : crea una nueva tarea de temporizador
Declaración:
public abstract class TimerTask extends Object implements Runnable
Métodos:
- cancel(): java.util.TimerTask.cancel() Cancela esta tarea del temporizador
- Sintaxis:
public boolean cancel() Returns: true if this task is scheduled for one-time execution and has not yet run, or this task is scheduled for repeated execution. Returns false if the task was scheduled for one-time execution and has already run, or if the task was never scheduled, or if the task was already cancelled.
- run(): java.util.TimerTask.run() La acción que realizará esta tarea del temporizador
- Sintaxis:
public abstract void run() Description: The action to be performed by this timer task
- ScheduledExecutionTime(): java.util.TimerTask.scheduledExecutionTime() Devuelve el tiempo de ejecución programado de la ejecución real más reciente de esta tarea
- Sintaxis:
public long scheduledExecutionTime() Returns: the time at which the most recent execution of this task was scheduled to occur, in the format returned by Date.getTime(). The return value is undefined if the task has yet to commence its first execution
Métodos heredados de la clase java.lang.Object
- clon
- es igual
- finalizar
- obtenerClase
- código hash
- notificar
- notificar a todos
- Espere
Programa Java para demostrar el uso de la clase TimerTask
Java
// Java program to demonstrate // working of TimerTask class import java.util.Timer; import java.util.TimerTask; class Helper extends TimerTask { public static int i = 0; public void run() { System.out.println("Timer ran" + ++i); if(i == 4) { synchronized(Test.obj) { Test.obj.notify(); } } } } public class Test { public static Test obj; public static void main(String[] args) throws InterruptedException { obj = new Test(); // creating an instance of timer class Timer timer = new Timer(); // creating an instance of task to be scheduled TimerTask task = new Helper(); // scheduling the timer instance timer.schedule(task, 1000, 3000); // fetching the scheduled execution time of // the most recent actual execution of the task System.out.println(task.scheduledExecutionTime()); synchronized(obj) { //this thread waits until i reaches 4 obj.wait(); } //canceling the task assigned System.out.println("Cancel the timer task: " + task.cancel()); // at this point timer is still running // without any task assigned to it // canceling the timer instance created timer.cancel(); } }
Producción:
1495715853591 Timer ran 1 Timer ran 2 Timer ran 3 Timer ran 4 Cancel the timer task: true
Referencia:
Este artículo es una contribución de Mayank Kumar . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA