java定時任務Timer和TimerTask使用詳解
timer和timertask是jdk自帶的定時任務實現(xiàn),無需導入第三方jar包來完成
1、指定多久之后執(zhí)行此任務,注意:只會執(zhí)行一次
public class TimerTest { Timer timer; public TimerTest(int time){ timer = new Timer(); timer.schedule(new timerTaskTest(),time*1000);//timer.schedule(執(zhí)行的方法,延遲多久執(zhí)行(ms)) } public static void main(String[] args) { System.out.println("timer begin..."); new TimerTest(3); } class timerTaskTest extends TimerTask{ @Override public void run() { System.out.println("time's up!!"); } } }
2、在指定的時間執(zhí)行任務
public class TimerTest1 { Timer timer; public TimerTest1(){ Date time = getTime(); System.out.println("指定時間time="+time); timer = new Timer(); timer.schedule(new TimerTaskTest1(),time);//timer.schedule(執(zhí)行的方法,要執(zhí)行的時間) } public Date getTime(){//設置執(zhí)行時間 Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR,5); calendar.set(Calendar.MINUTE,46); calendar.set(Calendar.SECOND,00); Date time = calendar.getTime(); return time; } public static void main(String[] args) { new TimerTest1(); } class TimerTaskTest1 extends TimerTask{ public void run() { System.out.println("指定時間執(zhí)行線程任務..."); } } }
3、在延遲指定時間后以指定的間隔時間循環(huán)執(zhí)行定時任務
public class TimerTest2 { Timer timer; public TimerTest2(){ timer = new Timer(); timer.schedule(new TimerTaskTest2(),1000,2000);//tiemr.schedule(執(zhí)行的方法,延遲時間,多久執(zhí)行一次) } class TimerTaskTest2 extends TimerTask{ @Override public void run() { System.out.println("本次任務執(zhí)行時間"+new Date()); } } public static void main(String[] args) { new TimerTest2(); } }
到這里定時任務實現(xiàn)類已經(jīng)完成,如果是web項目,則需要在web.xml中配置啟動
<listener> <listener-class>com.sxl.ContextListener</listener-class> </listener>
配置完成即可。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
SpringBoot Swagger2 接口規(guī)范示例詳解
Swagger(在谷歌、IBM、微軟等公司的支持下)做了一個公共的文檔風格來填補上述問題,在本文中,我們將會學習怎么使用Swagger的 Swagger2注解去生成REST API文檔,感興趣的朋友一起看看吧2023-12-12SpringBoot如何讀取配置文件中的數(shù)據(jù)到map和list
這篇文章主要介紹了SpringBoot如何讀取配置文件中的數(shù)據(jù)到map和list,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02springboot 使用zookeeper實現(xiàn)分布式隊列的基本步驟
這篇文章主要介紹了springboot 使用zookeeper實現(xiàn)分布式隊列,通過ZooKeeper的協(xié)調(diào)和同步機制,多個應用程序可以共享一個隊列,并按照先進先出的順序處理隊列中的消息,需要的朋友可以參考下2023-08-08在Spring Boot應用程序中使用Apache Kafka的方法步驟詳解
這篇文章主要介紹了在Spring Boot應用程序中使用Apache Kafka的方法步驟詳解,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11springboot-dubbo cannot be cast to問題及解決
這篇文章主要介紹了springboot-dubbo cannot be cast to問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04