Java延時的3種實現(xiàn)方法舉例
一、Robot,Thread和Timer
import java.awt.AWTException;
import java.awt.Robot;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Text1 {
public static void main(String[] args) throws AWTException {
//延時方法一
Robot robot = new Robot();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
System.out.println("延時前 :"+dateFormat.format(new Date()));
robot.delay(2000);
System.out.println("延時后 :"+dateFormat.format(new Date()));
//延時方法二
try {
Thread.sleep(3000);
System.out.println("Thread延時后 :"+dateFormat.format(new Date()));
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//延時方法三
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
System.out.print("----時間: "+dateFormat.format(new Date()));
this.cancel();
}
}, 2000);
System.out.print("三秒后打印時間:");
}
}打印:

二、補充:
關于方法二的 this.cancel(); 解釋:
取消此計時器任務。如果任務已計劃一次執(zhí)行,但尚未運行,或尚未計劃,則它將永遠不會運行。如果任務已計劃重復執(zhí)行,則它將永遠不會再次運行。(如果此調用發(fā)生時任務正在運行,則任務將運行到完成,但不會再次運行。)
請注意,從重復計時器任務的run方法中調用此方法絕對保證計時器任務不會再次運行。
此方法可以重復調用;第二次和隨后的呼叫沒有效果。
返回:如果此任務計劃為一次性執(zhí)行但尚未運行,或此任務計劃重復執(zhí)行,則返回true。如果任務計劃為一次執(zhí)行且已運行,或任務從未計劃,或任務已取消,則返回false。(粗略地說,如果該方法阻止一個或多個計劃執(zhí)行發(fā)生,則返回true。)
總結
到此這篇關于Java延時的3種實現(xiàn)方法的文章就介紹到這了,更多相關Java延時方法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
深入理解SpringMVC的參數(shù)綁定與數(shù)據(jù)響應機制
本文將深入探討SpringMVC的參數(shù)綁定方式,包括基本類型、對象、集合等類型的綁定方式,以及如何處理參數(shù)校驗和異常。同時,本文還將介紹SpringMVC的數(shù)據(jù)響應機制,包括如何返回JSON、XML等格式的數(shù)據(jù),以及如何處理文件上傳和下載。2023-06-06

