java Timer 定時任務

2021-08-02 10:57:47 字數 876 閱讀 7207

schedule的四種用法

schedule(task,time)

在時間等於或者超過time的時候,執行並且執行一次task

schedule(task,time,period)

time 首次執行任務的時間

period 執行一次task的時間間隔

schedule(task,delay)

等待delay毫秒之後,執行並且執行一次task

scheduleatfixedrate(task,time,delay)

區別在於如果時間設定為當前時間之前,比如:當前時間0點0分06秒,2秒鐘執行一次,執行時間0點0分00秒,scheduleatfixedrate會趕進度,執行三次,

scheduleatfixedrate(task,delay,period)

相對於任務開始時間,不是任務完成時間,存在併發性

task下的cancel() 取消任務

scheduleexecutiontime()獲得任務執行時間

timer下的cancel()取消所有任務

purge()移除所有已經取消的任務,返回值是取消的任務數

timer缺陷

管理併發任務的缺陷:timer有且僅有乙個執行緒去執行定時任務,如果存在多個任務,且任務時間過長,會導致執行結果與預期不符。

當丟擲任務異常時的缺陷:如果丟擲任務執行時異常,會停止所有任務的執行

linux定時任務 at定時任務

at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...

at定時任務

at的守護程序每60秒檢查一次作業佇列,有作業時檢查作業,時間恰好達到,則執行作業。前提 保證atd程序已經啟動,檢查atd程序是否啟動 ps ef grep atd。atd的命令格式 at 選項 時間 ctrl d 結束at命令的輸入。選項 m 任務完成後給使用者傳送郵件,沒有標準輸出。i atg...

at定時任務

1 at是只執行一次,執行完後任務刪除。at的守護程序atd會以後臺模式執行,檢查作業佇列來執行。2 預設 atd每60秒巡邏一次,有作業時候,檢查作業時間,如果和當前時間一樣,就執行任務 3 在使用at命令的時候,一定要保證他的守護者atd程序的啟動。用ps ef grep atd來檢視atd是否...