Rumah >Java >javaTutorial >Cara menggunakan scheduleAtFixedRate dalam Java

Cara menggunakan scheduleAtFixedRate dalam Java

WBOY
WBOYke hadapan
2023-06-03 12:37:511470semak imbas

scheduleAtFixedRate (tugas, masa, tempoh)

tugas - tugasan yang akan dijadualkan masa - masa tugasan dilaksanakan untuk kali pertama tempoh - selang masa untuk melaksanakan tugas, dalam milisaat

Fungsi: masa Apabila sama dengan atau melebihi masa, tugasan dilaksanakan buat kali pertama, dan kemudian tugasan itu dilaksanakan berulang kali setiap tempoh milisaat

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(tugas, kelewatan, tempoh)

2) scheduleWithFixedDelay: serupa dengan yang sebelumnya-----buat dan laksanakan tugas berkala, pelaksanaan pertama dan pengecualian

A: laksanakan satu tugas dalam 1s, setiap Masa pelaksanaan setiap tugasan ialah 500ms====Tiada perbezaan antara keduanya

B: Masa pelaksanaan tugas terlalu lama, contohnya, selang adalah 1s, dan masa pelaksanaan ialah 3s==== Terdapat perbezaan dalam kes ini, terutamanya dalam kitaran Perbezaan masa

scheduleWithFixedDelay Dalam kaedah ini, masa pelaksanaan tugas melebihi masa kitaran Tugas seterusnya akan mengira kelewatan pelaksanaan berdasarkan penghujung masa pelaksanaan tugas (contohnya: jika masa selang ialah 1s, dan Masa pelaksanaan ialah 3s. Pelaksanaan dicetuskan pada 10:03. Secara teori, tugasan baharu harus dilaksanakan pada 10:04. Walau bagaimanapun, jika dilaksanakan melalui kaedah ini, pelaksanaan tamat pada 10:06 Tugas baharu akan dilaksanakan dengan kelewatan 1s berdasarkan 10:06 Tugas)

kaedah scheduleAtFixedRate (contohnya: jika selang waktu 1s, dan masa pelaksanaan ialah 3s, pelaksanaan dicetuskan pada 10:03, pelaksanaan tamat pada 10:06 dan tugasan terkumpul pada 10:04 dan 10:05 Ia akan dilaksanakan serta-merta dan bukannya menambah masa tunda berdasarkan 10:06)

Atas ialah kandungan terperinci Cara menggunakan scheduleAtFixedRate dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam