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