Java?Timer與TimerTask類使程序計(jì)時(shí)執(zhí)行
Java 程序設(shè)計(jì) Timer&TimerTask類
Timer&TimerTask類
根據(jù)設(shè)定的時(shí)間安排實(shí)現(xiàn)程序任務(wù)的自動執(zhí)行
每一個(gè)調(diào)度任務(wù)類都需要繼承java.util.TimerTask父類,任務(wù)的啟動需要通過java.util.Timer類完成
TimerTask類常用方法
| 方法 | 作用 |
|---|---|
| public void cancel() | 終止任務(wù) |
| public void run() | 任務(wù)需要執(zhí)行的具體操作 |
| public long scheduleExecutionTime() | 返回最近一次要執(zhí)行該任務(wù)的時(shí)間 |
Timer類常用方法
| 方法 | 作用 |
|---|---|
| public Timer() | 創(chuàng)建一個(gè)計(jì)時(shí)器并啟動該計(jì)時(shí)器 |
| public void cancel() | 用來終止該計(jì)時(shí)器,并放棄所以已安排的任務(wù),對當(dāng)前正在執(zhí)行的任務(wù)沒有影響 |
| public int purge() | 將所有已經(jīng)取消的任務(wù)移除,用來釋放內(nèi)存空間 |
| public void schedule(TimerTask task,Date time) | 安排一個(gè)任務(wù)在指定的時(shí)間執(zhí)行,如果已經(jīng)超過該時(shí)間,立即執(zhí)行 |
| public void schedule(TimerTask task,Date firstTime,long period) | 安排一個(gè)任務(wù)在指定的時(shí)間執(zhí)行,之后以固定的頻率重復(fù)執(zhí)行 |
| public void schedule(TimerTask task,long delay) | 安排一個(gè)任務(wù)在一段時(shí)間后執(zhí)行 |
| public void schedule(TimerTask task,long delay,long period) | 安排一個(gè)任務(wù)在一段時(shí)間后執(zhí)行,之后以固定的頻率重復(fù)執(zhí)行 |
| public void schedule AtFixedRate(TimerTask task,Date firstTime,long period) | 安排一個(gè)任務(wù)在指定的時(shí)間執(zhí)行,之后以近似固定的頻率重復(fù)執(zhí)行 |
| public void schedule AtFixedRate(TimerTask task,long delay,long period) | 安排一個(gè)任務(wù)在一段時(shí)間后執(zhí)行,之后以近似固定的頻率重復(fù)執(zhí)行 |
schedule()方法的執(zhí)行時(shí)間間隔永遠(yuǎn)是固定的,如果之前出現(xiàn)了延遲的情況,之后也會繼續(xù)按照設(shè)定好的間隔時(shí)間來執(zhí)行。
scheduleAtFixedRate()方法可以根據(jù)出現(xiàn)的延遲時(shí)間自動調(diào)整下一次間隔的執(zhí)行時(shí)間。
演示:
import java.util.Timer;
import java.util.TimerTask;
class Test extends TimerTask{
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"時(shí)間:"+System.currentTimeMillis());
}
}
public class Hello {
public static void main(String[] args) {
Timer timer = new Timer();
timer.scheduleAtFixedRate(new Test(),100,1000);
}
}

timer.scheduleAtFixedRate(new Test(),100,1000);
定義間隔任務(wù),100毫秒后開始執(zhí)行,每間隔1秒執(zhí)行1秒
到此這篇關(guān)于Java Timer與TimerTask類使程序計(jì)時(shí)執(zhí)行 的文章就介紹到這了,更多相關(guān)Java Timer 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java文件讀取寫入后 md5值不變的實(shí)現(xiàn)方法
下面小編就為大家分享一篇Java文件讀取寫入后 md5值不變的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助2017-11-11
Java NIO實(shí)現(xiàn)群聊系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java NIO實(shí)現(xiàn)群聊系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
SpringBoot+Ant Design Vue實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出功能方式
這篇文章主要介紹了SpringBoot+Ant Design Vue實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出功能方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
可觀測性-Metrics-數(shù)據(jù)庫連接池HikariCP監(jiān)控教程
這篇文章主要介紹了可觀測性-Metrics-數(shù)據(jù)庫連接池HikariCP監(jiān)控教程,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
Java實(shí)現(xiàn)用戶短信驗(yàn)證碼登錄功能實(shí)例代碼
現(xiàn)在不管是各類的網(wǎng)站,還是大小社交app,登錄方式是越來越多了,但是大部分還是以短信登錄為主,本文主要介紹了java短信驗(yàn)證碼登錄功能設(shè)計(jì)與實(shí)現(xiàn),感興趣的可以了解一下2021-11-11

