Primeiramente, crie uma classe que herde TimerTask. A classe não abstrata PrintTask faz essa herança e implementa o método abstrato +run(void):void. No método run está a implementação da tarefa (imprimir o valor do contador e icrementar). Vide a API para entender o método cancel.
Agora, desejo que seja impresso no terminal o valor do contador a cada segundo. Então, usamos a classe Timer para realizar essa tarefa. Basta fazer,
Timer tim = new Timer();
tim.scheduleAtFixedRate(new PrintTask(), 0, 1000);
E pronto. A mágica acontece nos métodos de escalonamento da classe Timer. Três tipos de escalonamento podem ser feitos:
- Única Execução
- Retardo Fixo
- Taxa Fixa
Explicação dos tipos de escanolamento
1- A única Execução é quando a tarefa do TimerTask associado é executada uma única vez
Métodos:
-- public void schedule(Timer Task, Date time) - executa a tarefa na data especificada
-- public void schedule(Timer Task, long delay) - executa a tarefa após delay millisegundos.
2 - O Retardo fixo é quando a tarefa do
Métodos:
-- public void schedule(Timer Task, Date firstTime, long period) - A tarefa é executada com escalonamento de Retardo Fixo, iniciando na data firstTime com uma taxa period.
-- public void schedule(Timer Task, long delay, long period) - A tarefa é executada com escalonamento de Retardo Fixo, iniciando após delay millisegundos com uma taxa period.
3 - O escalonamento de Taxa Fixa é quando uma tarefa do
Métodos:
-- public void scheduleAtFixedRate(Timer Task, Date firstTime, long period) - A tarefa é executada com escalonamento de Taxa Fixa, iniciando na data firstTime com uma taxa period.
-- public void scheduleAtFixedRate(Timer Task, long delay, long period) - A tarefa é executada com escalonamento de Taxa Fixa, iniciando após delay millisegundos com uma taxa period.
Nenhum comentário:
Postar um comentário