1. //任务
  2. public class TaskSchedule extends TimerTask {
  3. //TimerTask 实现了 RUnnable 接口
  4. public void run() { //计划任务中具体做是事情
  5. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss.SSS");
  6. System.out.println(df.format(new Date()));
  7. }
  8. }
  9. //任务定时器
  10. public class TimerSchedule {
  11. public static void main(String[] args) throws InterruptedException {
  12. Timer timer = new Timer();
  13. timer.schedule(new TaskSchedule(), 1000, 1000);// 1秒后执行 然后每隔1秒 执行一次
  14. Thread.sleep(5000);
  15. timer.purge();//释放 已经取消的任务所占用的内存
  16. System.out.println("purge mem of cancled task");
  17. Thread.sleep(5000);
  18. timer.cancel();//停止任务(程序停止)
  19. }
  20. }
/**
* 启动刷新滚动数据的定时器
*/
public void startRefreshTimer(int refreshInterval) {
if (null == refreshTimer) refreshTimer = new Timer();
refreshTimer.schedule(new TimerTask() {
@Override
public void run() {
getScrollingMessage(false);
}
}, refreshInterval, refreshInterval);
}

Timer类中常用的方法:

cancel()   终止计时器,并放弃所有已安排的任务,对当前正在执行的任务没有影响。

purge()   将所有已经取消的任务移除,并释放移除任务的资源。

schedule(TimerTask task, Date time)

在指定的 Date 运行任务,如果时间已经过了则立即执行任务

schedule(TimerTask task, Date time, long period)

在指定的 Date 运行任务,当第一次运行后 每个 long 时间再运行

schedule(TimerTask task, long delay)

指定间隔时间运行

schedule(TimerTask task, long delay, long period)

指定间隔时间运行,并每隔period再运行,都是毫秒

以下两个方法基本同上面相同,区别在于以下方法是按照 rate 比率 进行的,

也就是接近于 period 的时间运行。方法可以根据出现的延迟时间自动调整下一次间隔的执行时间。

而上面的四个方法则间隔永远是固定的。

scheduleAtFixedRate(TimerTask task, Date firstTime, long period)

scheduleAtFixedRate(TimerTask task, long delay, long period)

Timer 与 TimerTask 示例的更多相关文章

  1. 13 Timer和TimerTask 示例

    定时器是一个应用十分广泛的线程工具,可用于调度多个定时任务以后台线程的方式执行.在Java中,可以通过Timer和TimerTask类来实现定义调度的功能 1 Timerjava.lang.Objec ...

  2. Java中的Timer和TimerTask在Android中的用法(转)

    转自:http://blog.csdn.net/zuolongsnail/article/details/8168689 在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务.比如UI ...

  3. java中计时器的用法Timer和TimerTask的用法__java中利用Timer与TImerTask 计时器间隔执行任务

          经常我们都会有这样的需求,要固定的每隔一段时间执行某一个任务.比如:   我们做一个缓存来减少与数据库的交互,而为了使缓存与数据库中的数据尽量达到同步,需要每个固定的一段时间去数据库中的数 ...

  4. Java并发编程:Timer和TimerTask(转载)

    Java并发编程:Timer和TimerTask(转载) 下面内容转载自: http://blog.csdn.net/xieyuooo/article/details/8607220 其实就Timer ...

  5. Java线程:Timer和TimerTask

    Timer和TimerTask可以做为实现线程的第三种方式,前两中方式分别是继承自Thread类和实现Runnable接口. Timer是一种线程设施,用于安排以后在后台线程中执行的任务.可安排任务执 ...

  6. Java定时任务Timer、TimerTask与ScheduledThreadPoolExecutor详解

     定时任务就是在指定时间执行程序,或周期性执行计划任务.Java中实现定时任务的方法有很多,本文从从JDK自带的一些方法来实现定时任务的需求. 一.Timer和TimerTask  Timer和Tim ...

  7. JDK中的Timer和TimerTask详解(zhuan)

    http://www.cnblogs.com/lingiu/p/3782813.html ************************************************** 目录结构 ...

  8. Timer与TimerTask的真正原理&使用介绍

    转载: Timer与TimerTask的真正原理&使用介绍 其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来 ...

  9. Java并发编程:Timer和TimerTask

    Java并发编程:Timer和TimerTask 下面内容转载自: http://blog.csdn.net/xieyuooo/article/details/8607220 其实就Timer来讲就是 ...

随机推荐

  1. 在ASP.NET MVC中实现区域或城市选择

    每次在"万达影城"网上购票总会用到左上角选择城市的功能.如下: 今天就在ASP.NET MVC中实现一下.我想最好的方式应该是写一个插件,但自己在这方面的功力尚欠缺,如果大家在这方 ...

  2. Delphi XE5 Android 运行黑屏卡死的解决方法

    1. 确保正确安装Android SDK: 开始菜单 > 所有程序 > Embarcadero RAD Studio XE5 > > Android Tools > 打开 ...

  3. iPhone上将短信内容发送到指定邮箱的方法

    iPhone上将短信内容发送到指定邮箱的方法 迄今为止,移动应用安全基本聚焦在以下几个方面,一是移动设备管理BYOD(bring your own device),二是移动恶意软件分析,三是移动设备用 ...

  4. 【CentOS】centos7 稳定使用版本,centos镜像的下载

    命令: cat /etc/redhat-release 下载地址: https://wiki.centos.org/Download 下载版本:

  5. ibatis.net:第三天,Insert

    手工生成主键的模型 xml 配置 <insert id="InsertUser" parameterClass="User"> INSERT INT ...

  6. 找了一个api管理工具

    找了一个工具,https://github.com/nutsteam/apiManager选择了如下方式,进行了安装. ● 下载https://git.oschina.net/zhoujingjie/ ...

  7. hihocoder #1170 机器人 &amp;&amp; 编程之美2015复赛

    题意: 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描写叙述 小冰的N个机器人兄弟排成一列,每一个机器人有一个颜色. 如今小冰想让同一颜色的机器人聚在一起.即随意两个同颜色的 ...

  8. [转]Mysql中的SQL优化与执行计划

    From : http://religiose.iteye.com/blog/1685537 一,如何判断SQL的执行效率? 通过explain 关键字分析效率低的SQL执行计划. 比如: expla ...

  9. MSSQL2008 全文索引的创建

    从MSSQL2008开始,全文索引推荐的创建方式已经与2005不同了.对于字符类型的数据库,可以直接创建. CREATE UNIQUE INDEX hr_job_idx ON hr_job_datab ...

  10. protobuf中的编码规则

    protobuf中的编码规则 (1)序列化和反序列化: 在开始本部分的内容之前,首先有必要介绍两个基本概念,一个是序列化,一个是反序列化.这两个概念的定义在网上搜一下都很多的,但大多都讲得比较晦涩,不 ...