這里主要講講Java的定時任務是如何一步步發展而來的:
Timer
解釋:1000ms是延遲啟動時間,2000ms是定時任務周期,每2s執行一次
ScheduledExecutorService
解釋:延遲1s啟動,每隔1s執行一次,是前一個任務開始時就開始計算時間間隔,但是會等上一個任務結束在開始下一個
SpringTask
解釋:
1.task1是每隔5s執行一次,{秒} {分} {時} {日期} {月} {星期}
2.task2是延遲1s,每隔1S執行一次
Quartz
quartz 是一個開源的分布式調度庫,它基于java實現。
1.Job 表示一個任務,要執行的具體內容。
2.JobDetail 表示一個具體的可執行的調度程序,Job 是這個可執行程調度程序所要執行的內容,另外 JobDetail 還包含了這個任務調度的方案和策略。
3.Trigger 代表一個調度參數的配置,什么時候去調。
4.Scheduler 代表一個調度容器,一個調度容器中可以注冊多個 JobDetail 和 Trigger。當 Trigger 與 JobDetail 組合,就可以被 Scheduler 容器調度了。