java定時(shí)任務(wù)Timer和TimerTask使用詳解
timer和timertask是jdk自帶的定時(shí)任務(wù)實(shí)現(xiàn),無需導(dǎo)入第三方j(luò)ar包來完成
1、指定多久之后執(zhí)行此任務(wù),注意:只會執(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、在指定的時(shí)間執(zhí)行任務(wù)
public class TimerTest1 {
Timer timer;
public TimerTest1(){
Date time = getTime();
System.out.println("指定時(shí)間time="+time);
timer = new Timer();
timer.schedule(new TimerTaskTest1(),time);//timer.schedule(執(zhí)行的方法,要執(zhí)行的時(shí)間)
}
public Date getTime(){//設(shè)置執(zhí)行時(shí)間
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("指定時(shí)間執(zhí)行線程任務(wù)...");
}
}
}
3、在延遲指定時(shí)間后以指定的間隔時(shí)間循環(huán)執(zhí)行定時(shí)任務(wù)
public class TimerTest2 {
Timer timer;
public TimerTest2(){
timer = new Timer();
timer.schedule(new TimerTaskTest2(),1000,2000);//tiemr.schedule(執(zhí)行的方法,延遲時(shí)間,多久執(zhí)行一次)
}
class TimerTaskTest2 extends TimerTask{
@Override
public void run() {
System.out.println("本次任務(wù)執(zhí)行時(shí)間"+new Date());
}
}
public static void main(String[] args) {
new TimerTest2();
}
}
到這里定時(shí)任務(wù)實(shí)現(xiàn)類已經(jīng)完成,如果是web項(xiàng)目,則需要在web.xml中配置啟動
<listener> <listener-class>com.sxl.ContextListener</listener-class> </listener>
配置完成即可。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
利用Kotlin + Spring Boot實(shí)現(xiàn)后端開發(fā)
這篇文章主要給大家介紹了關(guān)于利用Kotlin + Spring Boot實(shí)現(xiàn)后端開發(fā)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11
Java實(shí)現(xiàn)對視頻進(jìn)行截圖的方法【附ffmpeg下載】
這篇文章主要介紹了Java實(shí)現(xiàn)對視頻進(jìn)行截圖的方法,結(jié)合實(shí)例形式分析了Java使用ffmpeg針對視頻進(jìn)行截圖的相關(guān)操作技巧,并附帶ffmpeg.exe文件供讀者下載使用,需要的朋友可以參考下2018-01-01
Java并發(fā)編程ReentrantReadWriteLock加讀鎖流程
這篇文章主要介紹了Java并發(fā)編程ReentrantReadWriteLock加讀鎖流程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
Java POI-TL設(shè)置Word圖片浮于文字上方
這篇文章主要為大家詳細(xì)介紹了Java如何利用POI-TL設(shè)置Word圖片環(huán)繞方式為浮于文字上方而不是嵌入的方式,感興趣的小伙伴可以參考一下2025-03-03
對象存儲服務(wù)MinIO快速入門(集成項(xiàng)目的詳細(xì)過程)
MinIO是一個(gè)開源的對象存儲服務(wù),支持多種操作系統(tǒng),配置簡單且性能高,它使用糾刪碼進(jìn)行數(shù)據(jù)保護(hù),可以容忍硬件故障,MinIO支持多種語言的SDK和豐富的API,本文介紹對象存儲服務(wù)MinIO快速入門,感興趣的朋友一起看看吧2025-03-03
Mybatis-plus如何提前獲取實(shí)體類用雪花算法生成的ID
本文主要介紹了Mybatis-plus如何提前獲取實(shí)體類用雪花算法生成的ID,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

