5 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊
堵塞了。是不是用了多進(jìn)程之類的啊,可能會(huì)存在堵塞。還有一種可能是上次的任務(wù)還沒(méi)有執(zhí)行完,然后這次任務(wù)也啟動(dòng)了,也會(huì)存在這種問(wèn)題的。建議優(yōu)化一下代碼,然后定時(shí)盡量把時(shí)間隔開點(diǎn),保證任務(wù)很在某個(gè)時(shí)間范圍內(nèi)執(zhí)行完。最后還有一個(gè)可能,檢查服務(wù)器的時(shí)間,是不是服務(wù)器時(shí)間和你本機(jī)對(duì)不上。

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊
1、Timer
[quote]與每個(gè) Timer 對(duì)象相對(duì)應(yīng)的是單個(gè)后臺(tái)線程,用于[color=red]順序地執(zhí)行所有計(jì)時(shí)器任務(wù)[/color]。計(jì)時(shí)器任務(wù)應(yīng)該迅速完成。[color=red]如果完成某個(gè)計(jì)時(shí)器任務(wù)的時(shí)間太長(zhǎng),那么它會(huì)“獨(dú)占”計(jì)時(shí)器的任務(wù)執(zhí)行線程[/color]。因此,這就可能延遲后續(xù)任務(wù)的執(zhí)行,而這些任務(wù)就可能“堆在一起”,并且在上述不友好的任務(wù)最終完成時(shí)才能夠被快速連續(xù)地執(zhí)行。[/quote]
所以如果任務(wù)多可能造成延遲
2、此類不 提供實(shí)時(shí)保證 所以晚幾秒很正常
3、
public void schedule(TimerTask task,
long delay,
long period)
[quote]安排指定的任務(wù)從指定的延遲后開始進(jìn)行重復(fù)的固定延遲執(zhí)行。以近似固定的時(shí)間間隔(由指定的周期分隔)進(jìn)行后續(xù)執(zhí)行。
在固定延遲執(zhí)行中,根據(jù)前一次執(zhí)行的實(shí)際執(zhí)行時(shí)間來(lái)安排每次執(zhí)行。[color=red]如果由于任何原因(如垃圾回收或其他后臺(tái)活動(dòng))而延遲了某次執(zhí)行,則后續(xù)執(zhí)行也將被延遲。[/color][color=red]從長(zhǎng)期來(lái)看,執(zhí)行的頻率一般要稍慢于指定周期的倒數(shù)(假定 Object.wait(long) 所依靠的系統(tǒng)時(shí)鐘是準(zhǔn)確的)。 [/color]
固定延遲執(zhí)行適用于那些需要“平穩(wěn)”運(yùn)行的重復(fù)活動(dòng)。換句話說(shuō),[color=red]它適用于在短期運(yùn)行中保持頻率準(zhǔn)確要比在長(zhǎng)期運(yùn)行中更為重要的活動(dòng)。[/color]這包括大多數(shù)動(dòng)畫任務(wù),如以固定時(shí)間間隔閃爍的光標(biāo)。這還包括為響應(yīng)人類活動(dòng)所執(zhí)行的固定活動(dòng),如在按住鍵時(shí)自動(dòng)重復(fù)輸入字符。
[/quote]
所以不適合你的任務(wù)。 可以考慮 quartz。
添加回答
舉報(bào)