国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Java 定時器的使用示例

瀏覽:7日期:2022-08-24 14:06:24

最近要用到定時任務,就是超過48小時的數據給關閉,前臺就不顯示了。還是頭一次使用java的定時器,。。java定時器使用Timer類。有時間得看下源碼了,看看具體咋弄的。

Timer主要用于Java線程里指定時間或周期運行任務。Timer是線程安全的,但不提供實時性(real-time)保證。先看看調用timer的幾種方式。

/** * 這個方法是調度一個task,經過2000(ms)后開始進行調度,僅僅調度一次。 */ public static void timer1(){ Timer nTimer = new Timer(); nTimer.schedule(new TimerTask() { @Override public void run() {System.out.println('----設定要指定任務-----'); } },2000); } /** * 在指定的時間點time上調度一次。 */ public static void timer2() { Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() {System.out.println('-------延遲5000毫秒,每1000毫秒執行一次--------'); } }, time); } /** * 延遲5000毫秒,每1000毫秒執行一次 * 在5000(ms)后開始調度,每次調度完后,最少等待1000(ms)后才開始調度。 */ public static void timer3() { Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { public void run() {System.err.println('-------延遲5000毫秒,每1000毫秒執行一次--------'); } }, 5000, 1000); } /** * 設置17:56執行任務(第一次調度的時間),每過一天執行一次 * java.util.Timer.scheduleAtFixedRate(TimerTask task, Date firstTime, long period) */ public static void timer4() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 17); calendar.set(Calendar.MINUTE, 26); calendar.set(Calendar.SECOND, 0); Date time = calendar.getTime(); Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { public void run() {System.out.println('-------設定要指定任務--------'); } }, time, 1000 * 60 * 60 * 24);// 這里設定將延時每天固定執行 }

以上就是調用的幾種方法,再貼下我的代碼

// 時間間隔(一天) long periodDay = 24 * 60 * 60 * 1000; Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 1); // 凌晨1點 calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); Date date = calendar.getTime(); // 第一次執行定時任務的時間 // 如果第一次執行定時任務的時間 小于當前的時間 // 此時要在 第一次執行定時任務的時間加一天,以便此任務在下個時間點執行。如果不加一天,任務會立即執行。 if (date.before(new Date())) { date = this.addDay(date, 1); } new Timer().scheduleAtFixedRate(new TimerTask() { public void run() {Date now = new Date();//查出所有未關閉數據List<BankWork> list = bankWorkService.findList(new BankWork().setStatus(Const.DEFAULT_STATUS));//篩選出超過48小時的未關閉數據list = list.stream().filter(e -> { try { return judgmentDate(e.getModifiedTime(), now); } catch (Exception e1) { e1.printStackTrace(); } return false;}).collect(Collectors.toList());list.forEach(e -> e.setStatus(Const.BANK_WORK_STATUS_OK).setModifiedTime(now));//修改所有未關閉數據為關閉bankWorkService.updateAsGroup(list); } }, date, periodDay); // 判斷時間是否超過48小時 private static boolean judgmentDate(Date date1, Date date2) throws Exception { long cha = date2.getTime() - date1.getTime(); if (cha < 0) { return false; } double result = cha * 1.0 / (1000 * 60 * 60); if (result <= 48) { return true; } else { return false; } } // 增加或減少天數 private Date addDay(Date date, int num) { Calendar startDT = Calendar.getInstance(); startDT.setTime(date); startDT.add(Calendar.DAY_OF_MONTH, num); return startDT.getTime(); }

以上就是Java 定時器的使用示例的詳細內容,更多關于Java 定時器的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 亚洲视频在线免费看 | 久久一本精品久久精品66 | 免费在线一区二区三区 | 国产自产21区 | 国产大片线上免费看 | 成人午夜性视频欧美成人 | 免费国产a国产片高清 | 日本免费久久 | 国产在线一区二区三区四区 | 国产成人高清精品免费软件 | 在线免费观看亚洲 | 全部孕妇毛片丰满孕妇孕交 | 99精品视频免费在线观看 | 国产精品久久久久999 | 亚洲国产精品线在线观看 | 国产日产欧美a级毛片 | 国产裸体美女视频全黄 | 国产日韩精品一区二区 | 免费观看性欧美大片无片 | 在线色网址 | 日本高清色本在线www游戏 | 毛片观看网站 | 久久精品片| аⅴ资源天堂8在线 | 欧洲女同互慰在线视频 | 亚洲国产另类久久久精品小说 | 成人精品免费视频 | 中文成人在线 | 中文精品视频一区二区在线观看 | 国产区香蕉精品系列在线观看不卡 | 欧美成人手机视频免费播放 | 亚洲视频免费播放 | 欧洲免费无线码二区5 | v片免费看 | 911国产自产精选 | 一级aaaaaa毛片免费 | 毛片亚洲毛片亚洲毛片 | 99爱视频99爱在线观看免费 | 精品国产成人系列 | 看欧美的一级毛片 | 手机在线观看a |