计划任务如何使用 java_java – 如何计划任务以定期间隔运行?
使用
timer.scheduleAtFixedRate
void java.util.Timer.scheduleAtFixedRate(TimerTask task, long delay, long period)
scheduleAtFixedRate
public void scheduleAtFixedRate(TimerTask task,
long delay,
long period)
在指定的延遲后開始,為指定的任務(wù)調(diào)度重復(fù)的固定速率執(zhí)行。后續(xù)執(zhí)行以大約固定的時(shí)間間隔進(jìn)行,以指定的時(shí)間間隔分隔。
在固定速率執(zhí)行中,相對(duì)于初始執(zhí)行的調(diào)度執(zhí)行時(shí)間調(diào)度每個(gè)執(zhí)行。如果執(zhí)行由于任何原因(例如垃圾收集或其他后臺(tái)活動(dòng))而延遲,則兩個(gè)或更多個(gè)執(zhí)行將快速連續(xù)地發(fā)生以“趕上”。從長(zhǎng)遠(yuǎn)來(lái)看,執(zhí)行的頻率將恰好是指定周期的倒數(shù)(假設(shè)底層Object.wait(long)的系統(tǒng)時(shí)鐘是準(zhǔn)確的)。
固定利率執(zhí)行適用于對(duì)絕對(duì)時(shí)間敏感的周期性活動(dòng),例如每小時(shí)每小時(shí)響一個(gè)鐘聲,或在特定時(shí)間每天運(yùn)行預(yù)定維護(hù)。它也適用于重復(fù)活動(dòng),其中執(zhí)行固定數(shù)量的執(zhí)行的總時(shí)間是重要的,例如每秒鐘每秒鐘進(jìn)行10秒鐘的倒計(jì)時(shí)定時(shí)器。最后,固定速率執(zhí)行適用于調(diào)度必須保持相對(duì)于彼此同步的多個(gè)重復(fù)定時(shí)器任務(wù)。
參數(shù):
> task – 要調(diào)度的任務(wù)。
> delay – 要執(zhí)行任務(wù)之前的延遲(以毫秒為單位)。
>連續(xù)任務(wù)執(zhí)行之間的時(shí)間(毫秒)。
投擲:
> IllegalArgumentException – 如果延遲為負(fù),或延遲System.currentTimeMillis()為負(fù)數(shù)。> IllegalStateException – 如果任務(wù)已經(jīng)調(diào)度或取消,定時(shí)器被取消或計(jì)時(shí)器線程已終止。
總結(jié)
以上是生活随笔為你收集整理的计划任务如何使用 java_java – 如何计划任务以定期间隔运行?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 整数线性规划实现(lingo,pytho
- 下一篇: python实例 73,74