日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【java】定时器

發布時間:2025/6/17 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【java】定时器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

總結

1、執行計劃的任務放在TimerTask的子類中,由Timer進行該任務。

2、創建一個Timer就是啟動一個新的線程,直至Timer里的任務執行完畢,才會結束。希望創建的線程為守護線程,則創建時需設置Timer timer=new Timer(true);

3、執行任務的時間早于當前時間,任務會立即執行。

4、TimerTask是以隊列的方式一個個順序執行的。當前面的任務消耗時間較長,則后面的任務運行的時間也會延后。

比如,假定Task1執行需2s,Task2在Task1開始之后1s需被執行。結果是執行完Task1后,立即執行Task2。(實際也符合第3點)

5、如果沒有延遲,則執行任務的時間是上一次任務開始的時間加上poried的時間。如果延遲了,則執行任務的時間為上一個任務的結束時間。(補充第4條)

6、方法schedule和scheduleAtFixedRate的區別在于后者有追趕執行性。(下面由代碼解釋)

7、異常方面。如果timer中執行任務時發生異常,則結束該timer線程,不會在執行任何任務。

?

常用例子

1、示例

import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /*** Created by zay on 2016/12/8.*/public class TimerTest {public static void main(String[] args) {System.out.println("當前時間:"+new Date());//執行計劃的任務放在TimerTask的子類中,由Timer進行該任務。Timer timer = new Timer();//創建一個任務,1s后開始執行,并此后每隔2s執行。timer.schedule(new TimerTask() {@Overridepublic void run() {System.out.println(new Date() + "任務一");}},1000,2000);//創建一個任務,十天后執行。Calendar calendar = Calendar.getInstance();calendar.add(Calendar.DATE,1);Date runDate = calendar.getTime();timer.schedule(new TimerTask() {@Overridepublic void run() {System.out.println(new Date() + "任務二");}},runDate);//timer.cancel(); 調用TImer的cancel()方法會清空該TImer的所有任務。//timerTask.cancel(); 調用TImerTask的cancel()方法則會在TImer中取消該任務。 } }

?2、方法schedule和scheduleAtFixedRate的區別在于后者有追趕執行性。

import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask;/*** Created by zay on 2016/12/8.*/ public class TimerTest {public static void main(String[] args) {System.out.println("當前時間:"+new Date());Calendar calendar=Calendar.getInstance();calendar.add(Calendar.SECOND,-100); //設置一個比較早的時間Date earlyDate = calendar.getTime();Timer timer = new Timer();System.out.printf(new Date() + " 現在開始執行任務");timer.scheduleAtFixedRate(new TimerTask() {@Overridepublic void run() {System.out.println(new Date() + " 任務一");}},earlyDate,5000);/*timer.schedule(new TimerTask() {@Overridepublic void run() {System.out.println(new Date() + " 任務一");}},earlyDate,5000);*/} }

?

// schedule方法的輸出(注意比對執行任務的時間) ? ? ? ? ? ? ? ?//scheduleAtFixedRate方法的輸出

? ? ?

解釋:當執行任務的時間早于當前時間時,比如示例中,執行任務的時間早于當前任務100s,那么這段時間理論應該有的任務怎么處理呢?

schedule選擇拋棄不理,以當前的時間為新的起點,而scheduleAtFiexdRate則會一口氣將這些任務順序都執行完畢。

?

轉載于:https://www.cnblogs.com/zadomn0920/p/java.html

總結

以上是生活随笔為你收集整理的【java】定时器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 97香蕉超级碰碰久久免费软件 | 国产区av | 粗大黑人巨茎大战欧美成人免费看 | 特黄做受又粗又大又硬老头 | 亚洲成人久久久久 | 久久不卡影院 | 久草视频中文在线 | 美女黄色真播 | 免费三级网 | 91蝌蚪| 久久只有精品 | 亚洲一区二区三区四区五区午夜 | 伊人网综合在线 | 黄色正能量网站 | 欧美91av| 亚洲无打码 | 免费观看视频一区二区 | 一区二区视频网站 | 久久国产精品-国产精品 | 夜操操| www超碰在线 | 国产在线一区视频 | 热逼视频| 久久久久久欧美 | 大桥未久中文字幕 | 337p粉嫩日本欧洲亚洲大胆 | 日本成人免费在线视频 | 久久中字 | 青青草国产成人99久久 | 久久精品牌麻豆国产大山 | 三级av在线免费观看 | 视频一区国产精品 | 日韩高清一二三区 | 麻豆福利影院 | 亚洲一区二区在线免费观看 | 无码精品一区二区三区在线播放 | 欧美性受xxxx黑人xyx性 | 男插女动态图 | 青草视频网 | 亚洲色成人www永久在线观看 | 青青草99| 印度午夜性春猛xxx交 | 成av在线 | 中文字幕理伦片免费看 | 一级女性全黄久久生活片免费 | 亚洲精品一区二区三区影院忠贞 | 男人免费视频 | 免费69视频 | 国产免费看片 | www.一区 | 白石茉莉奈中文字幕在 | 久久网址 | 小毛片网站 | 国产成人无码精品久久久性色 | 久久成人综合网 | 97久久久久久久 | 国产成a人亚洲精v品在线观看 | 欧美色综合天天久久综合精品 | 欧美激情免费在线观看 | 黄色网日本| 日韩av手机在线观看 | 亚洲av成人精品午夜一区二区 | 亚洲国产中文字幕在线 | av三级网站 | 国产伦理久久精品久久久久 | 伊人www22综合色 | 解开人妻的裙子猛烈进入 | 亚洲男人天堂2023 | 奇米影视77777 | 手机在线毛片 | www天天操| 中文字幕色哟哟 | 日韩爱爱爱 | 欧美私人情侣网站 | 床上激情网站 | 国产靠逼视频 | 狠狠干影院 | 国产99久久九九精品无码 | 久久久.com| 精品少妇一区二区三区免费观看 | 亚洲区精品 | 天天色综网 | 91中文字幕视频 | 视频一区国产精品 | 国产精品无码久久久久成人app | 黄色日本网站 | 网站久久久 | 久久日本视频 | 五月婷婷免费视频 | 欧美日韩激情视频在线观看 | 欧美三级影院 | 欧美激情999 | 日韩第1页| 欧美超碰在线观看 | 国产亚洲精品aaaaaaa片 | 色天天色综合 | 国产精品一区二区黑人巨大 | 青青草超碰在线 | 香蕉视频链接 |