我是靠谱客的博主 怕孤单红牛,最近开发中收集的这篇文章主要介绍定时器 Timer定时器 Timer注意,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

定时器 Timer

  • 定时器 Timer
    • 定时器 Timer 的使用
      • 常用方法
        • schedule
        • scheduleAtFixedRate
  • 注意

定时器 Timer 的使用

Timer 类主要负责计划任务的功能,也就是在指定时间开始执行某一个任务

主要作用:设置计划任务,但封装任务的类却是 TimerTask 类。

常用方法

schedule()

  • schedule(TimerTask task,Date time)在指定的日期执行一次某一任务
  • schedule(TimerTask task,Date firstTime,long period):在指定的日期之后按指定的间隔周期,无限循环地执行某一任务
  • schedule(TimerTask task,long delay)
    :以执行该方法当前的时间为基础时间,延迟指定毫秒数后执行一次任务
  • schedule(TimerTask task,long delay,long period):以执行该方法当前的时间为基础时间,延迟指定毫秒数后执行一次任务,再以某一时间间隔无限次地执行某一任务。

Timer 中允许有多个 TimerTask 任务:以队列的方式一个个被顺序性的执行。

TimerTask.cancel() & Timer.cancel 的区别:
- TimerTask 的 cancel():将自身从任务队列中进行清除
- Timer 的 cancel():将任务队列中全部的任务进行清空(有时不一定会停止任务)

scheduleAtFixedRate()

与 schedule() 方法基本一致,主要区别:追赶性。
- 不延时的情况下,两者一致。
- 如果出现延时,则 scheduleAtFixedRate() 会以上一次任务结束的时间来作为参考计算,而 schedule()立即执行

注意

推荐使用 ScheduledExecutorService

多线程并行处理定时任务时,Timer 运行多个 TimeTask 时,只要其中之一没有捕获抛出的异常其它任务便会自动终止运行,使用 ScheduledExecutorService 则没有这个问题。

最后

以上就是怕孤单红牛为你收集整理的定时器 Timer定时器 Timer注意的全部内容,希望文章能够帮你解决定时器 Timer定时器 Timer注意所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部