java 定時(shí)器Timer和TimerTask的使用詳解(執(zhí)行和暫停)
1:java.util.Timer定時(shí)器的常用方法如下:
- schedule(TimerTask task, long delay) // 延遲delay毫秒后,執(zhí)行一次task。
- schedule(TimerTask task, long delay, long period) // 延遲delay毫秒后,執(zhí)行第一次task,然后每隔period毫秒 執(zhí)行一次
2:參數(shù)含義: 第一個(gè)參數(shù):
是 TimerTask 類,在包:import java.util.TimerTask .使用者要繼承該類,并實(shí)現(xiàn) public void run() 方法,因?yàn)?TimerTask 類 實(shí)現(xiàn)了 Runnable 接口。
第二個(gè)參數(shù):
當(dāng)你調(diào)用該方法后,該方法必然會(huì)調(diào)用 TimerTask 類 TimerTask 類 中的 run() 方法,這個(gè)參數(shù)就是這兩者之間的差值,轉(zhuǎn)換成漢語的意思就是說,用戶調(diào)用 schedule() 方后,要等待這么長(zhǎng)的時(shí)間才可以第一次執(zhí)行 run() 方法。
第三個(gè)參數(shù):
第一次調(diào)用之后,從第二次開始每隔多長(zhǎng)的時(shí)間調(diào)用一次 run() 方法。
3.暫停任務(wù):
cancle(); 調(diào)用該方法;
4.例子:
public static void main(String[] args){ Timer time = new Timer(); time.schedule(new MyTask(),1*1000); //1秒后執(zhí)行,到第6秒的時(shí)候暫停 }
//執(zhí)行的類需要繼承TimerTask,需要重寫run方法,要執(zhí)行的操作寫在run方法里 public class MyTask extends TimerTask { private static Integer time = 0; @Override public void run(){ System.out.println("執(zhí)行定時(shí)任務(wù)第幾次:"+time++); try{ if(6 == time) cancel(); }catch(Exception e){ e.printStackTrace(); } } }
運(yùn)行結(jié)果:
到此這篇關(guān)于java 定時(shí)器Timer和TimerTask的詳解(執(zhí)行和暫停)的文章就介紹到這了,更多相關(guān)java 定時(shí)器Timer和TimerTask內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot 實(shí)現(xiàn)https ssl免密登錄(X.509 pki登錄)
這篇文章主要介紹了Spring Boot 實(shí)現(xiàn)https ssl免密登錄(X.509 pki登錄),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01mybatis實(shí)現(xiàn)遍歷Map的key和value
這篇文章主要介紹了mybatis實(shí)現(xiàn)遍歷Map的key和value方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01Java 中的 BufferedReader 介紹_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
BufferedReader 是緩沖字符輸入流。它繼承于Reader。接下來通過本文給大家介紹BufferedReader的相關(guān)知識(shí),需要的朋友參考下吧2017-05-05