亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中的scheduleAtFixedRate怎么使用

發布時間:2023-04-27 10:01:59 來源:億速云 閱讀:108 作者:iii 欄目:開發技術

這篇文章主要介紹“Java中的scheduleAtFixedRate怎么使用”,在日常操作中,相信很多人在Java中的scheduleAtFixedRate怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java中的scheduleAtFixedRate怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

scheduleAtFixedRate(task,time,period)

task-所要安排的任務 time-首次執行任務的時間 period-執行一次task的時間間隔,單位毫秒

作用:時間等于或超過time首次執行task,之后每隔period毫秒重復執行task

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
 
public class MyTimerTask extends TimerTask {
    @Override
    public void run() {
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
        System.out.println("Current Time:"+format.format(calendar.getTime()));//獲取當前系統時間
        System.out.println("NO.1");
    }
    public static void main(String[] args) {
        MyTimerTask task = new MyTimerTask();
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
        System.out.println(format.format(calendar.getTime()));
        calendar.add(Calendar.SECOND,3);//獲取距離當前時間3秒后的時間
        Timer timer = new Timer();
        timer.scheduleAtFixedRate(task,calendar.getTime(),2000);
    }
}

scheduleAtFixedRate(task, delay,period)

task-所要執行的任務 delay-執行任務的延遲時間,單位毫秒 period-執行一次task的時間間隔

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
 
public class MyTimerTask extends TimerTask {
    @Override
    public void run() {
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
        System.out.println("Current Time:"+format.format(calendar.getTime()));//獲取當前系統時間
        System.out.println("NO.1");
    }
    public static void main(String[] args) {
        MyTimerTask task = new MyTimerTask();
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
        System.out.println(format.format(calendar.getTime()));
        calendar.add(Calendar.SECOND,3);//獲取距離當前時間3秒后的時間
        Timer timer = new Timer();
        //timer.scheduleAtFixedRate(task,calendar.getTime(),2000);
        timer.scheduleAtFixedRate(task,1000,2000);
    }
}

scheduleAtFixedRate和scheduleWithFixedDelay的區別

 1)scheduleAtFixedRate:可以傳入runnable,定制第一次的初始化執行時間,周期時間,單位時間-------創建并執行一個周期性任務,過了給定的初始延遲時間(1min執行一次or其他時間),會第一次被執行。執行過程中發生異常,任務停止。

2)scheduleWithFixedDelay:和上一種相類似-----創建并執行周期性任務,第一次執行及異常情況

A:1s中執行一個任務,每個任務執行時間500ms====兩種無區別

B:執行任務時間過長,如間隔時間是1s,而執行時間3s====該情況下有區別,主要在周期時間的區別

scheduleWithFixedDelay該方法中一次任務執行時長超過周期時間,下一次任務會在該次任務執行結束時間基礎上,計算執行延時(舉例子:如間隔時間是1s,而執行時間3s,當前10:03時觸發執行,理論而言,10:04時應當執行新任務,但通過該方法執行,執行結束時為10:06,在10:06的基礎上延遲1s執行新任務)

scheduleAtFixedRate該方法(舉例子:如間隔時間是1s,而執行時間3s,當前10:03時觸發執行,10:06執行結束,10:04及10:05累積的任務會立刻執行,而非在10:06的基礎上增加延時時間)

到此,關于“Java中的scheduleAtFixedRate怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

遂宁市| 沐川县| 章丘市| 资源县| 苗栗市| 得荣县| 新平| 阿克陶县| 涞源县| 安徽省| 海门市| 桂阳县| 汽车| 盐源县| 蒙阴县| 图木舒克市| 同德县| 会昌县| 攀枝花市| 永嘉县| 隆子县| 项城市| 安阳市| 怀集县| 平乐县| 城口县| 钟山县| 阳山县| 宜黄县| 太和县| 柳河县| 东阳市| 宁强县| 鹤峰县| 友谊县| 合肥市| 张掖市| 庆阳市| 咸宁市| 旅游| 阳山县|