Rumah > Java > javaTutorial > Cara menggunakan scheduleAtFixedRate dalam Java

Cara menggunakan scheduleAtFixedRate dalam Java

WBOY
Lepaskan: 2023-06-03 12:37:51
ke hadapan
1488 orang telah melayarinya

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);
    }
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan