Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Elly-Ma/Java_Timer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

4 Commits

Repository files navigation

java 定时任务调度工具详解之Timer篇

一、介绍

1、什么是定时任务调度

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

2、在java中的定时调度工具

  • Timer:小弟,能实现日常60%以上的定时任务
  • Quartz:大哥

3、Timer与Quartz的区别

  • 1)出身不同:timer由jdk提供,调用方式简单粗暴,不需要引入其它jar包
    quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,需要引入jar包
  • 2)能力区别:timer只能实现简单的定时任务
    quartz时间控制功能比timer强大和完善
  • 3)底层机制:timer只有一个后台线程执行定时任务
    quartz拥有后台执行线程池,能使用多个线程执行定时任务
  • 注意:timer能实现的功能,尽量不用quartz,因为timer更轻量级

二、Timer简介

1、Timer纸上谈兵

  • 1)定义:一种工具,线程用其安排以后在后台线程中执行的任务,可安排任务执行一次,或者定期重复执行。 简化:有且仅有一个后台线程对多个业务线程进行定时定频率的调度
  • 2)主要构件 Timer---(定时调用)---->TimerTask 后台线程 业务线程
  • 3)Timer工具类详解 加号(+)表示public;减号(-)表示private;井号(#)表示protected;
     *Timer
     -queue:TaskQueue
     -thread:TimerThread TimerThread
     --------------------------- ----> +run()
     +Timer(isDaemon:boolean):void -mainLoop():void
     +Timer(name:String):void
     +Schedule(task:TimerTask,time:Date):void(无返回值)
     TaskQueue *TimerTask
     -queue:TimerTask[] ----> +run():void
    

2、Timer实战演练

  • 通过程序com.marily.timer包

三、Timer的定时调度函数

1、schedule的四种用法

  • 1)schedule(task,time) 参数:task--所要安排的任务 time--执行任务的时间 作用:在时间等于或超过time的时候执行且仅执行一次task

2、scheduleAtFixedRate

About

java timer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /