溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么使用Java schedule實(shí)現(xiàn)Timer的定時(shí)調(diào)度函數(shù)

發(fā)布時(shí)間:2023-04-27 09:59:23 來源:億速云 閱讀:170 作者:zzz 欄目:開發(fā)技術(shù)

這篇“怎么使用Java schedule實(shí)現(xiàn)Timer的定時(shí)調(diào)度函數(shù)”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“怎么使用Java schedule實(shí)現(xiàn)Timer的定時(shí)調(diào)度函數(shù)”文章吧。

schedule(task,time)

task-所安排的任務(wù)  time-執(zhí)行任務(wù)的時(shí)間

作用:在時(shí)間等于或者超過time的時(shí)候執(zhí)行且僅執(zhí)行一次

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
 
public class MyTimerTask extends TimerTask {
    private Integer cout = 0;
    @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()));//獲取當(dāng)前系統(tǒng)時(shí)間
        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);//獲取距離當(dāng)前時(shí)間3秒后的時(shí)間
        Timer timer = new Timer();
        timer.schedule(task,calendar.getTime());
 
    }
}

schedule(task,time,period)

task-所要安排執(zhí)行的任務(wù) time-首次執(zhí)行任務(wù)的時(shí)間 period-執(zhí)行一次task的時(shí)間間隔,單位毫秒

作用:時(shí)間等于或者超過time首次執(zhí)行task,之后每隔period毫秒重復(fù)執(zhí)行一次任務(wù)

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
 
public class MyTimerTask extends TimerTask {
    private Integer cout = 0;
    @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()));//獲取當(dāng)前系統(tǒng)時(shí)間
        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);//獲取距離當(dāng)前時(shí)間3秒后的時(shí)間
        Timer timer = new Timer();
       //timer.schedule(task,calendar.getTime());
        timer.schedule(task,calendar.getTime(),2000);
    }
}

schedule(task,delay)

task-所要安排的任務(wù)  delay-執(zhí)行任務(wù)前的延遲時(shí)間,單位毫秒

作用:等待delay毫秒后執(zhí)行僅執(zhí)行一次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()));//獲取當(dāng)前系統(tǒng)時(shí)間
        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);//獲取距離當(dāng)前時(shí)間3秒后的時(shí)間
        Timer timer = new Timer();
        //timer.schedule(task,calendar.getTime());
        //timer.schedule(task,calendar.getTime(),2000);
        timer.schedule(task,2000);
    }
}

schedule(task, delay,period)

作用:在等待delay毫秒后首次執(zhí)行task,每隔period毫秒重復(fù)執(zhí)行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()));//獲取當(dāng)前系統(tǒng)時(shí)間
        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);//獲取距離當(dāng)前時(shí)間3秒后的時(shí)間
        Timer timer = new Timer();
        //timer.schedule(task,calendar.getTime());
        //timer.schedule(task,calendar.getTime(),2000);
        //timer.schedule(task,2000);
        timer.schedule(task,2000,3000);
    }
}

以上就是關(guān)于“怎么使用Java schedule實(shí)現(xiàn)Timer的定時(shí)調(diào)度函數(shù)”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI