一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - Java循環調用多個timer實現定時任務

Java循環調用多個timer實現定時任務

2020-07-28 12:25轉載張志勇 JAVA教程

這篇文章主要介紹了Java循環調用多個timer實現定時任務,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

通常在使用java實現定時任務時,有兩種方法,一種是spring中的schedule(cron = " */5 * * * ?"),另一種就是java中的timer,

timer+TimerTask配合實現,這里附上Timer對象的一些常用api

?
1
2
3
4
5
6
7
8
9
10
11
12
Timer()                   創建-個新計時器。
Timer(boolean isDaemon)         創建一個新計時器, 可以指定其相關的線程作為守護程序運行。
Timer(String, name)            創建一個新計時器,其相關的線程具有指定的名稱。
Timer(String, name, boolean isDaemon) 創建一個新計時器, 可以指定其相關的線程作為守護程序運行。
cancel()  終止此計時器,丟棄所有當前已安排的任務。.
purge ()  從此計時器的任務隊列中移除所有己取消的任務。
schedule(TimerTask, task, Date time)                  安排在指定的時間執行指定的任務。
schedule (TimerTask task, Date firstTime, long period)       安排指定的任務在指定的時間開始進行重復的固定延遲執行。
schedule (TimerTask task, long, delay)                 安排在指定延遲后執行指定的任務。
schedule (TimerTask task, 1ong. delay, long period)          安排指定的任務從指定的延遲后開始進行重復的固定延遲執行。
scheduleAtFixedRate (TimerTask task,Date firstTime, long period) 安排指定的任務在指定的時間開始進行重復的固定速率執行。
scheduleAtFixedRate (TimerTask task, long delay, long period)   安排指定的任務在指定的延遲后開始進行重復的固定速率執行。

下面列舉一個循環創建TimerTask的實例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public static void main(String[] args) throws ParseException {
    ArrayList<TimeClass> list = new ArrayList<>();  //TimeClass是自己寫的一個類,只有兩個字段,private String startTime和private String endTime;     list.add(new TimeClass("2020-07-23 20:08:00 ","2020-07-23 20:08:15"));     list.add(new TimeClass("2020-07-23 20:08:30 ","2020-07-23 20:08:00"));      DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    //一個對象,在指定的開始時間和結束時間,分別進行不同的操作,如商品的定時上架、下架。
   Timer timer = new Timer();
    for(int i = 0; i < list.size(); i++){
      Date startTime = df.parse(list.get(i).getStartTime());
      Date endTime = df.parse(list.get(i).getEndTime());
      int a=i;
      timer.schedule(new TimerTask() { //新建一個定時任務
        @Override
        public void run() {
          System.out.println("任務開始了"+a);
        }
      },startTime);      
      timer.schedule(new TimerTask() {
        @Override
        public void run() {
          System.out.println("任務結束了"+a);         }
      },endTime);
    }
    //timer的過程中不會阻塞,不影響下面代碼的執行
    for (int i=0;i<=20;i++) {
      System.out.println("=====" + i);
    }
  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/zhangzhiyong-/p/13368971.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 啪一啪日一日 | 婷婷综合七月激情啪啪 | 国产1区2区三区不卡 | 日本老妇乱子伦中文视频 | 精品久久免费视频 | 肉肉小说在线阅读 | 四虎国产免费 | 日本免费三片在线观看 | 久久这里只精品国产99re66 | 91影视在线看免费观看 | haodiaocao几万部精彩视频 | 国产91青青成人a在线 | 精品久久香蕉国产线看观看亚洲 | 国色天香高清版 | 亚洲欧美在线免费 | 国产免费精彩视频 | 十八女下面流水不遮免费 | 欧美brazzers| 特黄特级毛片免费视 | 操老逼视频 | 无码毛片内射白浆视频 | 四川一级毛片 | 黄瓜视频黄版 | 506070老熟肥妇bbwxx视频 500第一精品 | 99在线免费观看视频 | 国语视频高清在线观看 | 国产欧美另类 | 边吃胸边膜下刺激免费男对女 | 男女福利视频 | 国产日韩欧美在线播放 | 亚洲AV蜜桃永久无码精品无码网 | 日本三级免费观看 | 99在线视频精品费观看视 | 日本在线视频播放 | 无套大战白嫩乌克兰美女 | 久久这里只有精品视频e | 日韩一品在线播放视频一品免费 | 九九国产在线视频 | 美女翘臀跪床被打屁股作文 | 色亚 | 欧美精品一线二线大片 |