91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

泊头市| 邹城市| 遂平县| 嘉鱼县| 察隅县| 沧源| 绵阳市| 忻城县| 广饶县| 利辛县| 麻栗坡县| 文山县| 武汉市| 长宁县| 东海县| 新丰县| 香格里拉县| 彰武县| 砚山县| 同心县| 东宁县| 新干县| 祁阳县| 闽清县| 镇赉县| 芜湖县| 兴隆县| 辛集市| 乌鲁木齐县| 万载县| 林甸县| 崇文区| 韩城市| 莱州市| 区。| 阿克苏市| 个旧市| 锡林郭勒盟| 侯马市| 阿克陶县| 肥东县|