美文网首页
java之认识定时器Timer

java之认识定时器Timer

作者: 赵荣晖 | 来源:发表于2020-10-31 16:05 被阅读0次

定义:基于给定的时间点、给点的时间间隔或者给定的执行次数自动执行的任务

Timer:多数的定时任务,由jdk直接提供。尽量使用timer

Quartz:搞定一切,源于开源项目,需要其他jar包支持。时间控制机制更加完善。

schedule(TimerTask task, Date time)  :在特定时间执行任务,只执行一次

schedule(TimerTask task, long delay)  :在特定时间之后执行任务,只执行一次

schedule(TimerTask task, Date firstTime,long period)    :指定第一次执行的时间,然后按照间隔时间,重复执行

schedule(TimerTask task, long delay, long period):在特定延迟之后第一次执行,然后按照间隔时间,重复执行

scheduleAtFixedRate(TimerTask task, long delay, long period)   :第一次执行之后,特定频率执行,与3同

scheduleAtFixedRate(TimerTask task,Date firstTime,long period) :在delay毫秒之后第一次执行,后按照特定频率执行

Timer的设计核心是一个TaskList和TaskThread。

Timer会将收到的任务丢到自己的TaskList中,TaskList按照最初执行时间进行排序。

TaskThread在创建Timer时会启动成为一个守护线程。这个线程会轮巡所有任务,找到一个最近要执行的任务,然后休眠,当达到最近要执行任务的开始时间点TaskThread被唤醒并执行该任务。之后TimerThread更新最近一个要执行的任务继续休眠。

Timer的优缺点:

优点:Timer的优点在于简单易用。

缺点:Timer的所有任务都是由同一线程调度

相关文章

  • java之认识定时器Timer

    定义:基于给定的时间点、给点的时间间隔或者给定的执行次数自动执行的任务 Timer:多数的定时任务,由jdk直接提...

  • java中的定时器

    1、java中普通定时任务 Timer定时器 ScheduledThreadPoolExecutor 定时器 Ti...

  • Java可自定义中断定时器的实现

    Java定时器的实现一般使用的是Timer和ScheduledExecutorService 使用Timer的时候...

  • 【golang】定时器的使用

    一.一次性定时器Timer,定时器停止timer.Stop(),定时器重置timer.Reset() 二.周期定时...

  • Java 定时器

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

  • 多线程之定时器任务

    在java中Timer是java.util包中的一个工具类,提供了定时器的功能。我们可以创建一个Timer对象,然...

  • 定时器(Quartz) [kwɔːts]

    Quartz定时器就是对java中Timer定时器的封装,支持Cron表达式定时 使用步骤: 1.定义任务类(指定...

  • Timer定时器

    Timer定时器

  • 定时器 Timer

    定时器 Timer [toc] 定时器 Timer 的使用 Timer 类主要负责计划任务的功能,也就是在指定时间...

  • Kafka技术内幕: 层级时间轮

    层级时间轮 3.4.4 定时器Timer 那么Kafka的Timer定时器是如何存储DelayedOperatio...

网友评论

      本文标题:java之认识定时器Timer

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