Java Thread Timer Uso

Java Thread Timer Uso
Em Java, um cronômetro é uma aula da qual os objetos do timer podem ser instanciados. A tarefa de execução agendas do timer em um futuro próximo. Uma tarefa é como um método (função). Java tem a classe, Timertosk, a partir da qual os objetos de tarefa podem ser instanciados. Diferentes tarefas estão programadas para operar (executar) em momentos diferentes. Este tutorial explica como instanciar e usar o objeto Timer em Java, começando com a instanciação do objeto Timertosk e sua natureza.

Conteúdo do artigo

  • TimerTask
  • Cronômetro
  • Executando cada tarefa uma vez
  • Executando qualquer tarefa mais de uma vez
  • Conclusão

TimerTask

O objeto Timertosk pode ser visto como um objeto de função. A classe Timertosk deve ser importada (o java.util.* pacote). A sintaxe para instanciação é:

TimerTask protegido ()

A palavra reservada, "protegida", significa que ela só pode ser definida (implementada) por subclassificação (estende). O seguinte segmento de código define uma classe Timertosk:

classe tt estende o TimerTask
String str;
TT (String st)
str = st;

public void run ()
Sistema.fora.println (str);

A classe Timertosk é uma classe abstrata, porque possui o método abstrato, run () cuja sintaxe é:

Resumo do Void Run ()

O método run () deve ser implementado na classe TT. Aqui, a classe TT é a aula de Timertosk utilizável. O método run () é o principal método da classe Timertosk. Este método run () é a tarefa eficaz. Nesse caso, a implementação do método tt run () tem apenas uma declaração. Quando a classe TT é empregada como um argumento de objeto, no método do objeto do timer, o método run () é executado. A instanciação desta classe TT é pela expressão:

novo tt (strobj);

Então, no método Main (), o segmento de código,

Tt t1 = novo tt ("Tarefa 1.");
T1.correr();

irá imprimir,

Tarefa 1.

Três objetos como T1 serão criados abaixo para três tarefas diferentes para o objeto do timer.

Cronômetro

A classe do temporizador tem quatro construtores sobrecarregados, mas apenas um será considerado aqui. A classe do temporizador está no java.util.* pacote. A sintaxe da construção da classe do timer é:

Timer público ()

Isso significa que a classe do temporizador será instanciada com uma declaração como:

Timer t = new timer ();

Métodos da classe do temporizador

Existem 8 métodos da classe do temporizador. Apenas quatro são considerados neste artigo. Três são considerados nesta seção:

Cronograma (Tarefa TimerTask, Longo Atraso)

Este método agenda um objeto Timertosk a ser executado após vários milissegundos (atraso). A sintaxe completa é:

Cronograma de vazios públicos (Tarefa Timertosk, Longo Atraso)

cancelar()

Este método do timer encerra o cronômetro, descartando qualquer tarefa atualmente agendada. A sintaxe completa é:

public void cancel ()
purga()

A sintaxe completa é:

public int purge ()

Este método do timer remove todas as tarefas canceladas da fila de tarefas do timer, liberando memória.

Executando cada tarefa uma vez

Um objeto de timer pode executar (executar) mais de um objeto Timertosk. O método run () do objeto Timertosk como argumento no método do cronograma do objeto Timer será executado após um tempo atrasado (milissegundos). 1000ms = 1s. A classe TT a seguir mostra um bom código sobre como instanciar objetos Timertosk:

importar java.util.*;
classe tt estende o TimerTask
String str; int num; Timer Tim;
Tt (string st, int não, temporizador)
str = st; num = não; tim = timer;

public void run ()
Sistema.fora.println (str);
if (num == 3)
Tim.cancelar(); Tim.purga();

Os objetos instanciados da classe TT, têm números associados. No método main () para esta classe, existem três objetos TT. O construtor para cada um desses objetos é o construtor para esta classe. O primeiro parâmetro do método do construtor é uma string. Esta é a string que o método run () do objeto imprimirá. O segundo parâmetro é o número associado ao objeto. Os três objetos instanciados desta classe associaram números de 1 a 3. O próximo parâmetro é o objeto do timer. O objeto do timer é instanciado no método principal (). O mesmo objeto de timer executará cada um desses três objetos, cada um após uma duração agendada. Cada objeto tem uma string diferente (primeiro argumento).

É o último objeto a ser executado que interrompe o timer. O método de cancelamento do timer é usado para isso. Este mesmo último objeto irá purgar o objeto do timer. O último objeto TT, está associado ao número, 3. É por tudo isso, que o código a seguir está no método run () da classe TT:

if (num == 3)
Tim.cancelar(); Tim.purga();
A classe principal com o método principal é:
classe pública theClass
public static void main (string [] args)
Timer t = new timer ();
Tt t1 = novo tt ("Tarefa 1.", 1, t);
Tt t2 = novo tt ("Tarefa 2.", 2, t);
Tt t3 = novo tt ("Tarefa 3.", 3, t);
t.Cronograma (T1, 1000);
t.Cronograma (T2, 2000);
t.Cronograma (T3, 3000);

Após o objeto do timer, T foi instanciado da classe Timer, três outros objetos são instanciados da classe TimerTask (TT). Observe os diferentes argumentos dos construtores desses três objetos. O primeiro argumento é a string a ser exibida, que caracteriza seu objeto. O próximo argumento é o número associado. O último argumento é o objeto de timer, o mesmo para todos os três objetos.

Depois disso no código, o mesmo objeto de timer executa T1 após 1 segundo (1000 milissegundos). Ele executa T2 após 2s. Ele executa T3 após 3s. Ter o nome do objeto como o primeiro argumento do método do cronograma do objeto do timer é suficiente nesta situação para causar o método run () de cada objeto de timer para executar. Após um segundo, a saída é:

Tarefa 1.

e depois de 1 segundo novamente, é,

Tarefa 2.

E no quarto segundo, é:

Tarefa 3.

Então, por causa da condição if e seu “Tim.cancelar();" Para o terceiro objeto, o objeto do timer termina e o programa termina.

Executando qualquer tarefa mais de uma vez

Uma tarefa é um objeto TimerTask Herited (TT), cuja eficácia é o método run (). Cada objeto TT pode ser feito para executar (executar) repetidamente indefinidamente, até que uma condição seja atendida. O método do timer para isso é:

Cronograma de vazios públicos (Tarefa Timertosk, Longo Atraso, Período Longo)

Portanto, cada tarefa será executada pela primeira vez, após um longo atraso. Após um longo período (terceiro parâmetro), ele reexecionará; Após o mesmo período longo (duração), ele reexecionará, repetindo, até que uma condição para o objeto do timer seja cumprida. No código a seguir, a primeira e a segunda tarefas (objetos Timertosk) são repetidos duas vezes (três ocorrências). A terceira tarefa é executada após seu atraso normal, uma vez. Tem a condição do timer que interrompe o temporizador (e sem repetição).

classe pública theClass
public static void main (string [] args)
Timer t = new timer ();
Tt t1 = novo tt ("Tarefa 1.", 1, t);
Tt t2 = novo tt ("Tarefa 2.", 2, t);
Tt t3 = novo tt ("Tarefa 3.", 3, t);
t.Cronograma (T1, 1000, 2000);
t.Cronograma (T2, 2000, 2000);
t.Cronograma (T3, 6000);

Depois de um segundo, a saída é,

Tarefa 1.

e após o atraso de dois segundos, desde o início, a saída é,

Tarefa 2.

Após um intervalo de 2 segundos a partir de quando a primeira tarefa foi executada, a saída devido à primeira tarefa é,

Tarefa 1.

e após um intervalo de 2 segundos de quando a segunda tarefa foi executada, a saída devido à segunda tarefa é,

Tarefa 2.

Após um intervalo de 2 segundos a partir de quando a primeira tarefa foi executada pela última vez, a saída devido à primeira tarefa é,

Tarefa 1.

e após um intervalo de 2 segundos de quando a segunda tarefa foi executada pela última vez, a saída devido à segunda tarefa é,

Tarefa 2.

Após um atraso normal de 6 segundos, a saída devido à terceira tarefa, que tem a condição de parada, é

Tarefa 3.

Conclusão

A classe do temporizador funciona com a classe Timertosk. A classe Timertosk é uma classe abstrata e, portanto, deve ser herdada; e seu único método abstrato, Run () deve ser implementado. A partir desta classe (TT acima), qualquer número de objetos de tarefa pode ser instanciado. Quanto à classe do timer, um objeto deve ser instanciado dele. O objeto One Timer pode ser usado para executar os diferentes objetos Timertosk em diferentes momentos. Um dos objetos Timertosk deve parar o objeto do timer.

Chrys