java定时器实现原理(java定时任务时间设置)

  定时器初始化是通过设置寄存器的值来控制定时器的工作方式和周期。在初始化过程中,需要确定定时器的时钟源、计数模式、计数值和中断使能等参数,然后将这些参数写入相应的寄存器中。

image.png

  定时器初始化的目的是为了让定时器按照设定的周期自动计数,并在计数到预设的值时触发中断或者其他操作,从而实现定时和计时的功能。

  一、在JAVA开发领域,目前可以通过以下几种方式进行定时任务

  1、单机部署模式

  Timer:jdk中自带的一个定时调度类,可以简单的实现按某一频度进行任务执行。提供的功能比较单一,无法实现复杂的调度任务。

  ScheduledExecutorService:也是jdk自带的一个基于线程池设计的定时任务类。其每个调度任务都会分配到线程池中的一个线程执行,所以其任务是并发执行的,互不影响。

  Spring Task:Spring提供的一个任务调度工具,支持注解和配置文件形式,支持Cron表达式,使用简单但功能强大。

  Quartz:一款功能强大的任务调度器,可以实现较为复杂的调度功能,如每月一号执行、每天凌晨执行、每周五执行等等,还支持分布式调度,就是配置稍显复杂。

  2、分布式集群模式


发表评论

评论列表

还没有评论,快来说点什么吧~