Java實現(xiàn)Timer的定時調(diào)度函數(shù)schedule的四種用法
schedule的四種用法
schedule(task,time)
task-所安排的任務(wù) time-執(zhí)行任務(wù)的時間
作用:在時間等于或者超過time的時候執(zhí)行且僅執(zhí)行一次
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Timer; import java.util.TimerTask; public class MyTimerTask extends TimerTask { private Integer cout = 0; @Override public void run() { Calendar calendar = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); System.out.println("Current Time:"+format.format(calendar.getTime()));//獲取當(dāng)前系統(tǒng)時間 System.out.println("NO.1"); } public static void main(String[] args) { MyTimerTask task = new MyTimerTask(); Calendar calendar = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); System.out.println(format.format(calendar.getTime())); calendar.add(Calendar.SECOND,3);//獲取距離當(dāng)前時間3秒后的時間 Timer timer = new Timer(); timer.schedule(task,calendar.getTime()); } }
schedule(task,time,period)
task-所要安排執(zhí)行的任務(wù) time-首次執(zhí)行任務(wù)的時間 period-執(zhí)行一次task的時間間隔,單位毫秒
作用:時間等于或者超過time首次執(zhí)行task,之后每隔period毫秒重復(fù)執(zhí)行一次任務(wù)
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Timer; import java.util.TimerTask; public class MyTimerTask extends TimerTask { private Integer cout = 0; @Override public void run() { Calendar calendar = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); System.out.println("Current Time:"+format.format(calendar.getTime()));//獲取當(dāng)前系統(tǒng)時間 System.out.println("NO.1"); } public static void main(String[] args) { MyTimerTask task = new MyTimerTask(); Calendar calendar= Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); System.out.println(format.format(calendar.getTime())); calendar.add(Calendar.SECOND,3);//獲取距離當(dāng)前時間3秒后的時間 Timer timer = new Timer(); //timer.schedule(task,calendar.getTime()); timer.schedule(task,calendar.getTime(),2000); } }
schedule(task,delay)
task-所要安排的任務(wù) delay-執(zhí)行任務(wù)前的延遲時間,單位毫秒
作用:等待delay毫秒后執(zhí)行僅執(zhí)行一次task
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Timer; import java.util.TimerTask; public class MyTimerTask extends TimerTask { @Override public void run() { Calendar calendar = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); System.out.println("Current Time:"+format.format(calendar.getTime()));//獲取當(dāng)前系統(tǒng)時間 System.out.println("NO.1"); } public static void main(String[] args) { MyTimerTask task = new MyTimerTask(); Calendar calendar = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); System.out.println(format.format(calendar.getTime())); //calendar.add(Calendar.SECOND,3);//獲取距離當(dāng)前時間3秒后的時間 Timer timer = new Timer(); //timer.schedule(task,calendar.getTime()); //timer.schedule(task,calendar.getTime(),2000); timer.schedule(task,2000); } }
schedule(task, delay,period)
作用:在等待delay毫秒后首次執(zhí)行task,每隔period毫秒重復(fù)執(zhí)行task
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Timer; import java.util.TimerTask; public class MyTimerTask extends TimerTask { @Override public void run() { Calendar calendar = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); System.out.println("Current Time:"+format.format(calendar.getTime()));//獲取當(dāng)前系統(tǒng)時間 System.out.println("NO.1"); } public static void main(String[] args) { MyTimerTask task = new MyTimerTask(); Calendar calendar = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); System.out.println(format.format(calendar.getTime())); //calendar.add(Calendar.SECOND,3);//獲取距離當(dāng)前時間3秒后的時間 Timer timer = new Timer(); //timer.schedule(task,calendar.getTime()); //timer.schedule(task,calendar.getTime(),2000); //timer.schedule(task,2000); timer.schedule(task,2000,3000); } }
到此這篇關(guān)于Java實現(xiàn)Timer的定時調(diào)度函數(shù)schedule的四種用法的文章就介紹到這了,更多相關(guān)Java schedule內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringCloud使用Ribbon實現(xiàn)負(fù)載均衡的流程步驟
在微服務(wù)架構(gòu)中,負(fù)載均衡是一項關(guān)鍵的技術(shù),它可以確保各個服務(wù)節(jié)點間的負(fù)載分布均勻,提高整個系統(tǒng)的穩(wěn)定性和性能,Spring Cloud 中的 Ribbon 就是一種負(fù)載均衡的解決方案,本文將深入探討 Ribbon 的原理和在微服務(wù)中的應(yīng)用,需要的朋友可以參考下2024-02-02詳解springboot項目帶Tomcat和不帶Tomcat的兩種打包方式
這篇文章主要介紹了詳解springboot項目帶Tomcat和不帶Tomcat的兩種打包方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09Java讀取json數(shù)據(jù)并存入數(shù)據(jù)庫的操作代碼
很多朋友問大佬們JAVA怎么把json存入數(shù)據(jù)庫啊,這一問題就把我難倒了,糾結(jié)如何操作呢,下面小編把我的經(jīng)驗分享給大家,感興趣的朋友一起看看吧2021-08-08