Java 兩種延時(shí)thread和timer詳解及實(shí)例代碼
Java 兩種延時(shí)thread和timer詳解及實(shí)例代碼
在Java中有時(shí)候需要使程序暫停一點(diǎn)時(shí)間,稱為延時(shí)。普通延時(shí)用Thread.sleep(int)方法,這很簡(jiǎn)單。它將當(dāng)前線程掛起指定的毫秒數(shù)。如
try { Thread.currentThread().sleep(1000);//毫秒 } catch(Exception e){}
在這里需要解釋一下線程沉睡的時(shí)間。sleep()方法并不能夠讓程序"嚴(yán)格"的沉睡指定的時(shí)間。例如當(dāng)使用5000作為sleep()方法的參數(shù)時(shí),線 程可能在實(shí)際被掛起5000.001毫秒后才會(huì)繼續(xù)運(yùn)行。當(dāng)然,對(duì)于一般的應(yīng)用程序來說,sleep()方法對(duì)時(shí)間控制的精度足夠了。
但是如果要使用精確延時(shí),最好使用Timer類:
Timer timer=new Timer();//實(shí)例化Timer類 timer.schedule(new TimerTask(){ public void run(){ System.out.println("退出"); this.cancel();}},500);//五百毫秒
這種延時(shí)比sleep精確。上述延時(shí)方法只運(yùn)行一次,如果需要運(yùn)行多次, 使用timer.schedule(new MyTask(), 1000, 2000); 則每間隔2秒執(zhí)行MyTask()
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- JAVA開發(fā)常用類庫UUID、Optional、ThreadLocal、TimerTask、Base64使用方法與實(shí)例詳解
- Java線程Timer定時(shí)器用法詳細(xì)總結(jié)
- java Timer 定時(shí)每天凌晨1點(diǎn)執(zhí)行任務(wù)
- Java中Timer的schedule()方法參數(shù)詳解
- 深入理解Java定時(shí)調(diào)度(Timer)機(jī)制
- 使用java.util.Timer實(shí)現(xiàn)任務(wù)調(diào)度
- java Timer測(cè)試定時(shí)調(diào)用及固定時(shí)間執(zhí)行代碼示例
- Android RxJava創(chuàng)建操作符Timer的方法
- Java定時(shí)器Timer使用方法詳解
- java中timer的schedule和scheduleAtFixedRate方法區(qū)別詳解
- Java多線程定時(shí)器Timer原理及實(shí)現(xiàn)
- java定時(shí)器timer的使用方法代碼示例
- Java 中Timer和TimerTask 定時(shí)器和定時(shí)任務(wù)使用的例子
- java多線程之定時(shí)器Timer的使用詳解
- java定時(shí)任務(wù)Timer和TimerTask使用詳解
- Java時(shí)間類庫Timer的使用方法與實(shí)例詳解
相關(guān)文章
Spring與MyBatis集成?AOP整合PageHelper插件的操作過程
Spring與MyBatis集成的主要目的是為了提供更強(qiáng)大的數(shù)據(jù)訪問和事務(wù)管理能力,以及簡(jiǎn)化配置和提高開發(fā)效率,這篇文章主要介紹了Spring與MyBatis集成AOP整合PageHelper插件,需要的朋友可以參考下2023-08-08Java 時(shí)間轉(zhuǎn)換的實(shí)例代碼
下面小編就為大家?guī)硪黄狫ava 時(shí)間轉(zhuǎn)換的實(shí)例代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07Java中SpringBoot的@Transactional原理
這篇文章主要介紹了Java中SpringBoot的@Transactional原理,面向元數(shù)據(jù)遍歷已經(jīng)成為越來越多開發(fā)者的偏好,因此原理從Springboot的EnableTransactionManagement注解說起,需要的朋友可以參考下2023-07-07Java中的HttpServletRequest接口詳細(xì)解讀
這篇文章主要介紹了Java中的HttpServletRequest接口詳細(xì)解讀,是一個(gè)接口,全限定名稱為Jakarta.Serclet.http.HttpServletRequest2023-11-11
HttpServletRequest接口是Servlet規(guī)范的一員,需要的朋友可以參考下Java高級(jí)特性之反射機(jī)制實(shí)例詳解
這篇文章主要介紹了Java高級(jí)特性之反射機(jī)制,結(jié)合實(shí)例形式詳細(xì)分析了Java反射機(jī)制原理、功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-08-08Java計(jì)時(shí)新姿勢(shì)StopWatch的使用方法詳解
這篇文章主要給大家介紹了關(guān)于Java計(jì)時(shí)新姿勢(shì)StopWatch的相關(guān)資料,以及java 中使用StopWatch來計(jì)算時(shí)間差的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01關(guān)于Java整合RocketMQ實(shí)現(xiàn)生產(chǎn)消費(fèi)詳解
這篇文章主要介紹了關(guān)于Java整合RocketMQ實(shí)現(xiàn)生產(chǎn)消費(fèi)詳解,RocketMQ作為一款純java、分布式、隊(duì)列模型的開源消息中間件,支持事務(wù)消息、順序消息、批量消息、定時(shí)消息、消息回溯等,需要的朋友可以參考下2023-05-05spring boot2結(jié)合mybatis增刪改查的實(shí)現(xiàn)
這篇文章主要給大家介紹了關(guān)于spring boot2結(jié)合mybatis增刪改查的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring boot2具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09基于Spring boot @Value 注解注入屬性值的操作方法
這篇文章主要介紹了結(jié)合SpEL使用@Value-基于配置文件或非配置的文件的值注入-Spring Boot的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07