Java延時(shí)的3種實(shí)現(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 { //延時(shí)方法一 Robot robot = new Robot(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss "); System.out.println("延時(shí)前 :"+dateFormat.format(new Date())); robot.delay(2000); System.out.println("延時(shí)后 :"+dateFormat.format(new Date())); //延時(shí)方法二 try { Thread.sleep(3000); System.out.println("Thread延時(shí)后 :"+dateFormat.format(new Date())); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } //延時(shí)方法三 Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { System.out.print("----時(shí)間: "+dateFormat.format(new Date())); this.cancel(); } }, 2000); System.out.print("三秒后打印時(shí)間:"); } }
打印:
二、補(bǔ)充:
關(guān)于方法二的 this.cancel(); 解釋?zhuān)?/strong>
取消此計(jì)時(shí)器任務(wù)。如果任務(wù)已計(jì)劃一次執(zhí)行,但尚未運(yùn)行,或尚未計(jì)劃,則它將永遠(yuǎn)不會(huì)運(yùn)行。如果任務(wù)已計(jì)劃重復(fù)執(zhí)行,則它將永遠(yuǎn)不會(huì)再次運(yùn)行。(如果此調(diào)用發(fā)生時(shí)任務(wù)正在運(yùn)行,則任務(wù)將運(yùn)行到完成,但不會(huì)再次運(yùn)行。)
請(qǐng)注意,從重復(fù)計(jì)時(shí)器任務(wù)的run方法中調(diào)用此方法絕對(duì)保證計(jì)時(shí)器任務(wù)不會(huì)再次運(yùn)行。
此方法可以重復(fù)調(diào)用;第二次和隨后的呼叫沒(méi)有效果。
返回:如果此任務(wù)計(jì)劃為一次性執(zhí)行但尚未運(yùn)行,或此任務(wù)計(jì)劃重復(fù)執(zhí)行,則返回true。如果任務(wù)計(jì)劃為一次執(zhí)行且已運(yùn)行,或任務(wù)從未計(jì)劃,或任務(wù)已取消,則返回false。(粗略地說(shuō),如果該方法阻止一個(gè)或多個(gè)計(jì)劃執(zhí)行發(fā)生,則返回true。)
總結(jié)
到此這篇關(guān)于Java延時(shí)的3種實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)Java延時(shí)方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java?延時(shí)隊(duì)列及簡(jiǎn)單使用方式詳解
- 盤(pán)點(diǎn)Java中延時(shí)任務(wù)的多種實(shí)現(xiàn)方式
- 一文帶你深入了解Java中延時(shí)任務(wù)的實(shí)現(xiàn)
- Java使用延時(shí)隊(duì)列搞定超時(shí)訂單處理的場(chǎng)景
- Java處理延時(shí)任務(wù)的常用幾種解決方案
- 詳解Java中的延時(shí)隊(duì)列 DelayQueue
- 一口氣說(shuō)出Java 6種延時(shí)隊(duì)列的實(shí)現(xiàn)方法(面試官也得服)
- Java延時(shí)執(zhí)行的三種實(shí)現(xiàn)方式
相關(guān)文章
利用Java實(shí)現(xiàn)在線(xiàn)圖片URL轉(zhuǎn)換為Base64以及反向解析成圖片
Base64 是一種將二進(jìn)制數(shù)據(jù)編碼為 ASCII 字符串格式的方法,常用于在網(wǎng)絡(luò)中安全傳輸圖片、文件等內(nèi)容,本文給大家介紹了如何利用Java實(shí)現(xiàn)在線(xiàn)圖片URL轉(zhuǎn)換為Base64以及反向解析成圖片,文章有相關(guān)的代碼和圖文供大家參考,需要的朋友可以參考下2025-03-03Java實(shí)現(xiàn)自定義Excel數(shù)據(jù)排序的方法詳解
通常,我們可以在Excel中對(duì)指定列數(shù)據(jù)執(zhí)行升序或者降序排序,在需要自定義排序情況下,我們也可以自行根據(jù)排序需要編輯數(shù)據(jù)排列順序。本文將通過(guò)Java應(yīng)用程序來(lái)實(shí)現(xiàn)如何自定義排序,需要的可以參考一下2022-09-09Java線(xiàn)程中斷機(jī)制interrupt、isInterrupted、interrupted方法詳解
這篇文章主要介紹了Java線(xiàn)程中斷機(jī)制interrupt、isInterrupted、interrupted方法詳解,一個(gè)線(xiàn)程不應(yīng)該由其他線(xiàn)程來(lái)強(qiáng)制中斷或停止,而是應(yīng)該由線(xiàn)程自己自行停止,所以,Thread.stop、Thread.suspend、Thread. resume都已經(jīng)被廢棄了,需要的朋友可以參考下2024-01-01一文詳解Spring任務(wù)執(zhí)行和調(diào)度(小結(jié))
這篇文章主要介紹了一文詳解Spring任務(wù)執(zhí)行和調(diào)度(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Spring代理對(duì)象導(dǎo)致的獲取不到原生對(duì)象注解的解決
本文主要介紹了Spring代理對(duì)象導(dǎo)致的獲取不到原生對(duì)象注解的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04Java實(shí)現(xiàn)FTP文件的上傳和下載功能的實(shí)例代碼
FTP 是File Transfer Protocol(文件傳輸協(xié)議)的英文簡(jiǎn)稱(chēng),而中文簡(jiǎn)稱(chēng)為“文傳協(xié)議”。接下來(lái)通過(guò)本文給大家實(shí)例講解Java實(shí)現(xiàn)FTP文件的上傳和下載功能,需要的的朋友一起看看吧2016-11-11Spring Boot 2.4版本前后的分組配置變化及對(duì)多環(huán)境配置結(jié)構(gòu)的影響(推薦)
這篇文章主要介紹了Spring Boot 2.4版本前后的分組配置變化及對(duì)多環(huán)境配置結(jié)構(gòu)的影響,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12詳解rabbitmq創(chuàng)建queue時(shí)arguments參數(shù)注釋
這篇文章主要介紹了rabbitmq創(chuàng)建queue時(shí)arguments參數(shù)注釋,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03