1. Prefácio
Recentemente, tarefas cronometradas foram usadas nos projetos da empresa. Esta postagem do blog resumirá as tarefas de tempo do TimerTask. De fato, o TimerTask não é muito usado em projetos reais.
Como não pode ser executado em um horário especificado, só pode executar o programa em uma certa frequência.
2. Timertosk
No JDK, o Timer é uma classe de temporizador, que pode ser configurada para tarefas de tempo especificadas.
No JDK, o TimerTask é uma classe de tarefa cronometrada. Esta classe implementa a interface executável e é uma classe abstrata. Podemos herdar esta classe e implementar tarefas cronometradas.
/ *** Herite o TimerTask para implementar tarefas de tempo*/ classe pública myTask estende o TimerTask {@Override public void run () {String currentTime = new SimpleDateFormat ("yyy-mm-dd hh: mm: ss"). Formato (new date ()); System.out.println (CurrentTime + "A tarefa de tempo está executando ..."); } public static void main (string [] args) {timer timer = new Timer (); // Uma tarefa executada uma vez em 1 segundo, os parâmetros são: tarefa, atraso, timer peróide.Schedule (new MyTask (), 2000, 1000); }} 3. Integre a mola
Duas classes principais: ScheduledTimerTask, TimerFactoryBean
A classe ScheduledTimerTask é uma implementação de wrapper do TimerTask, através da qual as informações de gatilho podem ser definidas para esta tarefa.
A classe TimerFactoryBean permite que a Spring crie gatilhos usando configurações e crie automaticamente instâncias de timer para um conjunto de feijões programados especificados.
1. Introduzir o pacote jar: spring.jar, commons-logging.jar
2. Categoria de negócios de agendamento cronometrado:
/ *** Agendamento cronometrado Classe Business*/ Public Class TaskService estende o TimerTask {private int count = 1; public void run () {System.out.println ("th" + count + "Execute the Task cronometrado"); contagem ++; }} 3. Configuração do núcleo:
<? xml versão = "1.0" coding = "utf-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http:/wwww.w3 xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-bans-2.5.xsd" <ban Id = "TaskSertice"> </beanst) Nome = "TimerTask" ref = "TaskService" /> <!-Execute a configuração a cada dois dias: 24*60*60*1000-> <!-Execute o programa a cada 1 segundo-> <names name = "peria" "1000" /> <!-Execute It após o programa começa 4 segundos-> <timer = "Atraso" " <Propriedade name = "ScheduledTimerTasks"> <List> <ref bean = "ScheduledTimerTask"/> </list> </propriedade> </shean> </ Beans>
4. Classe de teste:
public class Main {public static void main (string [] args) {// carrega o arquivo de configuração de mola ApplicationContext context = new ClassPathxMLApplicationContext ("ApplicationContext.xml"); System.out.println ("<< ----------------------------- >>"); BUBLEREDREADER LEITOR = new BufferredReader (new InputStreamReader (System.in)); while (true) {tente {if (reader.readline (). Equals ("Quit")) {System.out.println ("<< ----------------------- >>"); System.Exit (0); }} catch (ioexception e) {lança nova runtimeException ("erro acontece ...", e); }}}} O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.