序言:本文主要對timer類的介紹以及api的使用詳情
基於給定的時間點、給定的時間間隔或者給定的執行次數自動執行任務。timer 由jdk自帶提供!
有且僅有乙個後台執行緒對多個業務執行緒進行定時定頻率的排程首先,建立乙個mytimertask類,繼承timertask
public
class
mytimertask
extends
timertask
@override
public
void
run(
)public string getname()
public
void
setname
(string name)
}
1.schedule(task, time) : 在時間等於或者超過time的時候執行,且執行一次task。
// 建立乙個timer例項
timer timer =
newtimer()
;// 建立乙個timertask例項
mytimertask task =
newmytimertask
("s1");
/** * 在時間等於或者超過time的時候執行,且執行一次task
*/calendar calendar = calendar.
getinstance()
;// 在當前時間的5秒後執行該任務
calendar.
add(calendar.second,5)
;timer.
schedule
(task, calendar.
gettime()
);
2.schedule(task, time, period) : 在時間等於或者超過time的時候首次執行task,之後每隔period毫秒重複執行task
// 建立乙個timer例項
timer timer =
newtimer()
;// 建立乙個timertask例項
mytimertask task =
newmytimertask
("s2");
calendar calendar = calendar.
getinstance()
;/**
* 在時間等於或者超過time的時候首次執行task,之後每隔period毫秒重複執行task
*/timer.
schedule
(task, calendar.
gettime()
,3000
);
3.schedule(task, delay) : 等待delay毫秒後執行且執行一次task
// 建立乙個timer例項
timer timer =
newtimer()
;// 建立乙個timertask例項
mytimertask task =
newmytimertask
("s3");
/** * 等待delay毫秒後執行且執行一次task
*/timer.
schedule
(task,
3000
);
4.schedule(task, delay, period) : 等待等於或者超過delay毫秒後首次執行task 之後每隔period毫秒重複執行task
// 建立乙個timer例項
timer timer =
newtimer()
;// 建立乙個timertask例項
mytimertask task =
newmytimertask
("小公尺");
/** * 等待delay毫秒後首次執行task 之後每隔period毫秒重複執行task
*/timer.
schedule
(task,
3000
,2000
);
1.scheduleatfixedrate(timertask task, date firsttime, long period) : 時間等於或者超過time的時候首次執行task,之後每隔period毫秒重複執行task
// 建立乙個timer例項
timer timer =
newtimer()
;// 建立乙個timertask例項
mytimertask task =
newmytimertask
("scheduleatfixedrate1");
calendar calendar = calendar.
getinstance()
;/**
* 時間等於或者超過time的時候首次執行task,之後每隔period毫秒重複執行task
*/timer.
scheduleatfixedrate
(task, calendar.
gettime()
,2000
);
2.scheduleatfixedrate(timertask task, long delay, long period):等待等於或者超過delay毫秒後首次執行task 之後每隔period毫秒重複執行task
// 建立乙個timer例項
timer timer =
newtimer()
;// 建立乙個timertask例項
mytimertask task =
newmytimertask
("scheduleatfixedrate2");
/** * 等待等於或者超過delay毫秒後首次執行task 之後每隔period毫秒重複執行task
*/timer.
scheduleatfixedrate
(task,
3000
,2000
);
當任務丟擲異常時的缺陷
不推薦使用的場景
timer定時任務
override public void timingpushmessage final message message timer.schedule task,message.getpushtime 當時間還沒到的時候,run方法並不執行,一直到約定時間之後才會執行,但是需要呼叫這個方法。publ...
Timer 定時任務
一 指定時間執行 public class testmain public static void main string args catch exception e 二 按指定的間隔周期性地無限迴圈地執行某乙個任務 public class testmain public static void...
Python 定時任務Timer
ftp檔案傳輸 1 每隔一段時間執行某個功能 timer類建構函式 timer interval,function,args kwargs interval 指定的間隔時間 單位 秒 function 要執行的方法 args kwargs 方法的引數 from threading import ti...