美文网首页
Timer与timeTask 定时执行

Timer与timeTask 定时执行

作者: lothar_cly | 来源:发表于2016-03-25 17:40 被阅读319次

timer是一种定时器工具,用来在一个后台线程中执行指定任务。它可以计划执行一个任务一次或者反复多次。TimeTask一个抽象类,他的子类代表一个可以被Timer计划的任务。


使用Timer中的schedule()方法定制执行方案(图上的意思是5秒后执行,以后每隔5秒执行一次。)具体的方法实现再讨论。
Timer线程的终止。默认情况下只要一个程序的timer线程在运行,那么这个程序会保持运行。当然有四种方案可以用来终止一个timer线程。
1.调用timercancle方法。可以在程序的任何地方调用此方法。甚至可以在timerTaskrun方法中。
2.让timer线程成为一个守护线程(所谓的守护线程就是运行在程序后台的线程,在Java中的定义是:如果虚拟机中只有daemon线程在运行,那么虚拟机退出)。可以在创建timer时使用new Timer(true)达到这个目的。
3.当timer相关的所有task执行完毕以后,删除所有此timer对象的引用(置为NULL)。这样timer线程也会终止。
4.调用system.exit()方法,使整个程序终止。

TimerschedulescheduleAtFixedRate之间的区别。

前者之间的间隔如果前一个任务没有按时完成,那么后一个任务同样会间隔步长再执行,而后者中前一个任务完成后(没有按时完成),会立马执行下一个任务(最大限度的压缩间隔时间)。
1.每个Timer仅对应唯一一个线程。
2.Timer不保证任务执行的十分精确
3.Timer类的线程是安全的。

相关文章

  • Timer与timeTask 定时执行

    timer是一种定时器工具,用来在一个后台线程中执行指定任务。它可以计划执行一个任务一次或者反复多次。TimeTa...

  • 定时器的应用

    Java提供TimeTask类来实现定时执行效果:

  • Java 定时器

    Java 定时器 1. 概述 Timer 可以按计划执行重复的任务或者定时执行指定任务,这是因为 Timer 内部...

  • Java 定时任务(含Spring定时任务)

    1:Timer Timer 是 JDK 自带的定时任务执行类,无论任何项目都可以直接使用 Timer 来实现定时任...

  • GCD Timer

    倒计时 定时器 timer 循环执行定时器

  • 31-Timer的缺陷分析

    Timer的缺陷分析 Timer计时器可以定时(指定时间执行任务)、延迟(延迟5秒执行任务)、周期性地执行任务(每...

  • Flutter -- 11.Timer

    1.关于Timer Flutter中的定时器 任务添加在事件队列 Timer异步执行 2.Timer延迟执行任务 ...

  • 面试题汇总(Java基础)

    Java基础 Timer执行任务会有什么缺点? Timer执行定时任务只会创建一个线程。Timer是基于绝对时间的...

  • Timer定时器

    主要两个要点: 实现指定时间执行任务 实现按照指定周期执行任务 定时器Timer的使用 JDK中Timer类主要负...

  • Android 定时器

    1.Handler类的postDelayed方法: 2.用handler+timer+timeTask方法: 3....

网友评论

      本文标题:Timer与timeTask 定时执行

      本文链接:https://www.haomeiwen.com/subject/yfhdlttx.html