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. 使用Axure RP原型设计实践06,登录验证

    登录验证主要功能包括: ● 用户名错误,提示无效用户名,用户名和密码文本框清空● 用户名存在,密码错误,提示密码错误,密码清空,焦点进入密码框● 用户名和密码都正确,验证通过 本篇接着"使用 ...

  2. Windows Phone本地数据库(SQLCE):10、创建数据库(翻译) (转)

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第十篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知 ...

  3. 将Excel中的数据批量导入数据库表

    private boolean import_to_database(String excel_path) throws BiffException, IOException, HsException ...

  4. Cocos2d-x之CCMenu

    from://http://blog.linguofeng.com/archive/2012/11/14/cocos2d-x-CCMenu.html Cocos2d-x之CCMenu Cocos2dx ...

  5. ibatis.net:第七天,QueryWithRowDelegate

    xml <statement id="FindOrdersByCustomer" parameterClass="string" resultClass= ...

  6. pthread_attr_init线程属性

    转自:http://blog.csdn.net/pbymw8iwm/article/details/6721038 1.线程属性 线程具有属性,用pthread_attr_t表示,在对该结构进行处理之 ...

  7. vue quill editor输入文字出现首字母的问题

    当使用vue quill editor输入中文时,第一个中文的汉语拼音第一个字母会显示如图. 解决的办法就是升级vue quill editor js文件的版本,目前的我升级之后ok的版本是 < ...

  8. Orchard之模版开发

    生成新模版之后(参看:Orchard之生成新模板),紧接着就是模版开发了. 一:开发必备之 Shape Tracing 到了这一步,非常依赖一个工具,当然,它也是 Orchard 项目本身的一个 Mo ...

  9. HTML5 本地文件操作之FileSystemAPI整理(二)

    一.文件目录操作 1.DirectoryEntry对象 属性: 1.isFile: 操作对象的是否为文件,DirectoryEntry对象固定其值为false 2.isDirectory: 操作对象是 ...

  10. [转]让Nginx支持ThinkPHP的URL重写和PATHINFO

    From : http://www.jzxue.com/wangzhankaifa/php/201108/08-8396.html   ThinkPHP支持通过PATHINFO和URL rewrite ...