CodeGym /Blogue Java /Random-PT /Classe de temporizador Java
John Squirrels
Nível 41
San Francisco

Classe de temporizador Java

Publicado no grupo Random-PT
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.

Conclusão

A classe Java Timer do pacote java.util.Timer é uma ferramenta versátil para agendar tarefas em seus aplicativos Java. Ele permite automatizar a execução de código em intervalos especificados, tornando-o útil para vários cenários, como acionamento de eventos, execução de atualizações periódicas ou agendamento de processos em segundo plano. Neste artigo, exploramos os fundamentos da classe Java Timer , incluindo a criação do objeto Timer , agendamento de tarefas com atrasos ou horários específicos e configuração de execuções repetitivas. Também aprendemos sobre os métodos importantes fornecidos pela classe Timer , como `schedule` e schedule(TimerTask task, Date firstTime, long period) . Ao usar a classe Timer de maneira eficaz, você pode adicionar um nível de automação e eficiência aos seus programas Java. Experimente diferentes opções de agendamento e explore outros recursos da classe Timer para aprimorar a funcionalidade de seus aplicativos.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION