A Java Timer Class é uma ferramenta poderosa que permite agendar tarefas para serem executadas em intervalos especificados. Quer você precise executar uma tarefa uma vez ou repetidamente, a classe Timer fornece uma maneira conveniente de automatizar seus programas Java. Neste artigo, exploraremos os recursos da classe Java Timer e aprenderemos como implementá-la de forma eficaz.
Introdução à classe Java Timer
A classe Timer faz parte do pacote java.util e é usada para agendar tarefas para execução em um horário especificado ou em intervalos regulares. Ele fornece uma maneira simples e confiável de executar código em intervalos predeterminados, tornando-o ideal para tarefas como acionamento de eventos, execução de atualizações periódicas ou agendamento de processos em segundo plano. Para usar a classe Timer , você precisa criar um objeto Timer da classe java.util.Timer . Este objeto Timer é responsável por agendar e executar tarefas com base em seus requisitos.Criando um objeto temporizador
Vamos começar criando um objeto Timer e explorando seus métodos. No exemplo de código a seguir, criamos um objeto Timer e agendamos uma tarefa para ser executada uma vez após um atraso especificado:// First we will import the java.util.Timer & java.util.TimerTask classes
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
public static void main(String[] args) {
Timer timer = new Timer(); // Creating a Timer object from the timer class
TimerTask task1 = new TimerTask() {
public void run() {
System.out.println("Task 1 executed!");
}
};
TimerTask task2 = new TimerTask() {
public void run() {
System.out.println("Task 2 executed!");
}
};
TimerTask task3 = new TimerTask() {
public void run() {
System.out.println("Task 3 executed!");
}
};
// Scheduling tasks to run after specified delays
timer.schedule(task1, 2000); // Using the schedule method of the timer class
timer.schedule(task2, 4000); // Using the schedule method of the timer class
timer.schedule(task3, 6000); // Using the schedule method of the timer class
}
}
Neste exemplo atualizado, o objeto Timer é criado usando a classe Timer . Cada TimerTask representa uma tarefa a ser agendada e executada pelo cronômetro. O método run dentro de cada TimerTask contém o código a ser executado quando a tarefa for executada. As tarefas são então agendadas usando o método de agendamento da classe Timer , especificando a tarefa e o atraso em milissegundos. Neste código, o método de agendamento é usado três vezes, cada vez com uma tarefa e atraso diferente.
Saída
Ao executar o código, ele gerará:
Tarefa 1 executada! Tarefa 2 executada! Tarefa 3 executada!
Cada tarefa é executada após seu respectivo atraso, demonstrando a funcionalidade da classe Timer .
Métodos de temporizador
A classe Timer fornece vários métodos para agendar tarefas para execução. Vamos explorar alguns dos métodos comumente usados:1. cronograma (tarefa TimerTask, longo atraso)
Este método agenda a tarefa especificada para execução após o atraso especificado. O atraso é especificado em milissegundos. Por exemplo:timer.schedule(task, 5000); // Schedule the task to run after a 5-second delay
2. agendamento (tarefa TimerTask, data e hora)
Este método agenda a tarefa especificada para execução no horário especificado. A tarefa será executada apenas uma vez. Por exemplo:Date executionTime = new Date(System.currentTimeMillis() + 5000); // Get the current time + 5 seconds
timer.schedule(task, executionTime); // Schedule the task to run at the specified time
3. cronograma (tarefa TimerTask, longo atraso, longo período)
Este método agenda a tarefa especificada para execução repetida após o atraso especificado e nos intervalos especificados. O atraso é o tempo em milissegundos antes da primeira execução e o período é o tempo em milissegundos entre as execuções subsequentes. Por exemplo:timer.schedule(task, 2000, 5000); // Schedule the task to run after a 2-second delay and repeat every 5 seconds
Programação do temporizador Java
Além dos métodos básicos de agendamento, a classe Timer também fornece um método de agendamento poderoso chamado agendamento(TimerTask task, Date firstTime, long period) . Este método permite agendar uma tarefa para execução repetida começando em um horário específico e em intervalos regulares. Aqui está um exemplo que demonstra o uso deste método:import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;
public class TimerExample {
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
public void run() {
System.out.println("Task executed!");
}
};
// Schedule the task to run every 5 seconds starting from the current time
Date startTime = new Date();
timer.schedule(task, startTime, 5000);
}
}
Neste exemplo, criamos um objeto Timer e definimos um TimerTask como antes. Também criamos um objeto startTime do tipo Date para especificar a hora de início da tarefa. O método de agendamento é então usado para agendar a tarefa para ser executada a cada 5 segundos a partir do horário atual. Com este método de agendamento, a tarefa continuará a ser executada no intervalo especificado até que o objeto Timer seja cancelado ou o programa seja encerrado. Caso contrário, lançará uma exceção.
GO TO FULL VERSION