文档章节

定时任务:Java中Timer和TimerTask的使用

一缕清风
 一缕清风
发布于 2016/07/12 18:41
字数 372
阅读 1
收藏 1
java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks。 
一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerTask一般是以匿名类的方式创建。 

一个完整的Timer: 
Java代码   收藏代码
  1. java.util.Timer timer = new java.util.Timer(true);   
  2. // true 说明这个timer以daemon方式运行(优先级低,   
  3. // 程序结束timer也自动结束),注意,javax.swing   
  4. // 包中也有一个Timer类,如果import中用到swing包,   
  5. // 要注意名字的冲突。   
  6.   
  7. TimerTask task = new TimerTask() {   
  8. public void run() {   
  9. ... //每次需要执行的代码放到这里面。   
  10. }   
  11. };   
  12.   
  13. //以下是几种调度task的方法:   
  14.   
  15. timer.schedule(task, time);   
  16. // time为Date类型:在指定时间执行一次。   
  17.   
  18. timer.schedule(task, firstTime, period);   
  19. // firstTime为Date类型,period为long   
  20. // 从firstTime时刻开始,每隔period毫秒执行一次。   
  21.   
  22. timer.schedule(task, delay)   
  23. // delay 为long类型:从现在起过delay毫秒执行一次   
  24.   
  25. timer.schedule(task, delay, period)   
  26. // delay为long,period为long:从现在起过delay毫秒以后,每隔period   
  27. // 毫秒执行一次。  

   
    

下面是一个完整的例子,由两个类组成,一个定制任务,一个调用java.util.Timer 

定制任务: 
Java代码   收藏代码
  1. import java.util.Timer;  
  2.   
  3. public class TimerTaskTest extends java.util.TimerTask{  
  4.   
  5. @Override  
  6. public void run() {  
  7.    // TODO Auto-generated method stub  
  8.    System.out.println("start");  
  9. }  
  10. }  

2.调用java.util.Timer 
Java代码   收藏代码
  1. import java.util.Timer;  
  2.   
  3. public class Test {  
  4. public static void main(String[] args){  
  5.    Timer timer = new Timer();  
  6.    timer.schedule(new TimerTaskTest(), 10002000);  
  7. }  
  8. }  


根据上面的介绍,便可以在1秒后,每隔2秒执行一次程序 

本文转载自:http://blog.csdn.net/baokx/article/details/38703833

一缕清风
粉丝 5
博文 128
码字总数 3410
作品 0
东城
私信 提问
Java中定时任务的实现:Timer与ScheduledExecutorService的不同

前言 在做后台任务的时候经常需要实现各种各种的定时的,周期性的任务。比如每隔一段时间更新一下缓存之类的。通常周期性的任务都可以使用如下方式实现: class MyTimerThread extends Thre...

wf78728381
2017/10/18
24
0
Android中实现定时器的四种方式

Android中实现定时器的四种方式 第一种方式利用Timer和TimerTask 1、继承关系 java.util.Timer 基本方法 schedule 例如: [java] view plaincopyprint? schedule方法有三个参数 第一个参数就...

Yao--靠自己
2018/05/16
102
0
小议时序调度Timer和Quartz

本文不是用来讲授入门手把手ABC小例子的,算是自己这段时间对Timer和Quartz使用心得的总结吧,后续如果有更深的认识会不断更新的。 言归正传,想实现定时调度,最简单的方法是使用Timer 还是...

GreenDay
2014/07/21
161
0
SpringBoot基础教程3-1-1 简单定时任务方法介绍

1 概述 定时任务,特定的时间执行任务,在项目中普遍使用。本文介绍简单的无状态无持久化的定时任务实现方式;,,。 2 实现方式 自带的;通过调度的方式 让程序按照某一个频度执行,但不能在...

Mkeeper
2018/09/29
58
0
SpringBoot | 第二十二章:定时任务的使用

前言 上两章节,我们简单的讲解了关于异步调用和异步请求相关知识点。这一章节,我们来讲讲开发过程也是经常会碰见的定时任务。比如每天定时清理无效数据、定时发送短信、定时发送邮件、支付...

oKong
2018/08/19
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

【Go专家编程】defer这里有个坑

前言 项目中,有时为了让程序更健壮,也即不panic,我们或许会使用recover()来接收异常并处理。 比如以下代码: func NoPanic() {if err := recover(); err != nil {fmt.Println("Recov...

恋恋美食
19分钟前
2
0
20190920笔记

扩展: bashrc和bash_profile http://ask.apelearn.com/question/7719 http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html echo 颜色 http://www.cnblogs.com/lr-ting/archi......

徐-锐
34分钟前
1
0
Shiro整合Redis代码解读

1. shiro默认使用的MemoryConstrainedCacheManager创建MapCache来保存缓存数据。manager和cache对象之间的关系可以参考笔者的另一篇文章,Springboot Redis详解。 2. shiro整合Redis的关键就...

sunranhou
57分钟前
4
0
关闭服务

题目要求 在centos6系统里,我们可以使用ntsysv关闭不需要开机启动的服务,当然也可以使用chkconfig工具来实现。 写一个shell脚本,用chkconfig工具把不常用的服务关闭。脚本需要写成交互式的...

wzb88
59分钟前
6
0
面试官:兄弟,说说 Spring Cloud 的核心架构原理吧

最近在补一些分布式系列的面试内容,提前几个月做做准备吧,你们懂的,也跟大家分享分享。现在分布式系统基本上都是标配了,如果你现在还在玩儿单机,没有接触过这些东西的话,权当是为你打开...

咪咪家的汪汪
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部