Rumah  >  Artikel  >  Java  >  Pemasa di Jawa

Pemasa di Jawa

PHPz
PHPzasal
2024-08-30 15:53:07358semak imbas

Pemasa dalam Java tersedia dalam java. pakej util memanjangkan kelas Objek dan melaksanakan antara muka Serializable dan Cloneable. Kelas pemasa mengandungi kaedah yang digunakan untuk melaksanakan aktiviti berkaitan pemasaan. Kelas Pemasa dalam Java digunakan untuk melaksanakan penjadualan tugas berkaitan masa. Benang Java menggunakan kaedah kelas Pemasa untuk menjadualkan tugas seperti melaksanakan bahagian kod selepas beberapa saat, pelaksanaan berulang kod selepas beberapa masa yang telah ditetapkan. Setiap objek Pemasa terikat pada latar belakang yang berasingan menjalankan utas yang bertanggungjawab untuk melaksanakan semua tugas yang berkaitan dengan utas. Perlu diingatkan bahawa kelas pemasa dalam java adalah selamat untuk benang; iaitu, pada satu masa, hanya satu utas boleh melaksanakan kaedah kelas Pemasa. Kelas Pemasa juga menggunakan timbunan binari sebagai struktur data asas untuk menyimpan tugas.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks Pemasa dalam Java

Berikut ialah sintaks asas cara kelas Pemasa digunakan dalam java:

Sintaks:

// create a class extending TimerTask
class TimerHelper extends TimerTask
{
//define run method
public void run()
{
// Write Code to be executed by Timer
}
}
class MainClass{
public static void main(String[] args)
{
//create timer instance
Timer timer = new Timer();
// create Timer class instance
TimerTask task = new TimerHelper ();
// call timer method
timer.schedule(task, 3000,6000);
//first argument is timer object
// second argument is time in milliseconds after which the code will be first executed
// Third argument is time in milliseconds after which the code will be executed regularly.
}
}

Penjelasan sintaks di atas: Sintaks menunjukkan cara kelas Pemasa digunakan dalam java. Menggunakan kelas pemasa melibatkan mencipta kelas memanjangkan TimerTask dan menentukan kaedah larian di dalamnya. Kaedah larian mengandungi logik yang perlu dilaksanakan berdasarkan masa yang dipacu. Di bawah ialah pengisytiharan kelas Pemasa:

public  class Timer extends Object
implements Serializable, Cloneable

Kaedah Kelas Pemasa dalam Java

Sekarang kita akan melihat kaedah dan medan berbeza yang terdapat dalam kelas Pemasa java. Berikut ialah senarai kaedah yang biasa digunakan yang terdapat dalam kelas Pemasa:

Method Name Description
public void schedule(TimerTask task, Date date) Schedules a task to be executed on the defined date.
public  void schedule (TimerTask task, Date firstTime, long timeperiod) The first argument is TimerTask to be executed; the second argument is the time after which the task is executed for the first time, and the third argument is seconds in milliseconds after which task will be executed regularly.
public  int purge() Used for removing all canceled tasks from the timer’s queue.
public void cancel() Cancel’s the timer.
public void schedule(TimeTask task, long delay) Schedules the task to be executed after the specified time in milliseconds.
public void schedule(TimeTask task, long delay, long period) The first argument is TimerTask to be executed; the second argument is the time in milliseconds after which task is executed for the first time, and the third argument is seconds in milliseconds after which task will be executed regularly.
public  void scheduleAtFixedRate(TimerTask task, Date firstTime, long timeperiod) The first argument is TimerTask to be executed; the second argument is the time after which the task is executed for the first time, and the third argument is seconds in milliseconds after which the task will be executed regularly.
public void scheduleAtFixedRate (TimeTask task, long delay, long period) The first argument is TimerTask to be executed; the second argument is the time in milliseconds after which task is executed for the first time, and the third argument is seconds in milliseconds after which task will be executed regularly.
Nama Kaedah
Penerangan
jadual kosong awam(tugas TimerTask, Tarikh tarikh) Jadualkan tugasan untuk dilaksanakan pada tarikh yang ditetapkan.
jadual  kosong awam (tugas TimerTask, Date firstTime, long time period) Argumen pertama ialah TimerTask untuk dilaksanakan; hujah kedua ialah masa selepas tugas itu dilaksanakan buat kali pertama dan hujah ketiga ialah saat dalam milisaat selepas itu tugasan akan dilaksanakan secara kerap.
public  int purge() Digunakan untuk mengalih keluar semua tugas yang dibatalkan daripada baris gilir pemasa.
batal batal awam() Batalkan pemasa.
jadual kekosongan awam (tugas TimeTask, kelewatan yang lama) Jadualkan tugasan untuk dilaksanakan selepas masa yang ditentukan dalam milisaat.
jadual kekosongan awam (tugas TimeTask, kelewatan yang lama, tempoh yang lama) Argumen pertama ialah TimerTask untuk dilaksanakan; hujah kedua ialah masa dalam milisaat selepas tugasan dilaksanakan buat kali pertama dan hujah ketiga ialah saat dalam milisaat selepas itu tugasan akan dilaksanakan dengan kerap.
jadual kosong  awamAtFixedRate(tugas TimerTask, Date firstTime, long time period) Argumen pertama ialah TimerTask untuk dilaksanakan; hujah kedua ialah masa selepas tugas itu dilaksanakan buat kali pertama dan hujah ketiga ialah saat dalam milisaat selepas itu tugas itu akan dilaksanakan dengan kerap.
jadual kosong awamAtFixedRate (tugas TimeTask, kelewatan yang lama, tempoh yang lama) Argumen pertama ialah TimerTask untuk dilaksanakan; hujah kedua ialah masa dalam milisaat selepas tugasan dilaksanakan buat kali pertama dan hujah ketiga ialah saat dalam milisaat selepas itu tugasan akan dilaksanakan secara kerap.

From the above-stated methods, we have found two methods that are similar in working but different in the name; they are schedule and scheduleAtFixedRate. The difference between the two is that in the case of fixed-rate execution, each execution is scheduled in accordance with the initial execution. If there is a delay in execution, then two or more executions will occur in quick succession to overcome the delay.

Constructors in Timer Class

The timer class contains four constructors for instantiating timer object.

  • Timer(): Creates a new Timer Object.
  • Timer(boolean isDaemon): Creates a timer object with a corresponding thread specified to run as a daemon.
  • Timer(String name): Creates a timer object with a corresponding thread name.
  • Timer(String name, boolean isDaemon): This method is a combination of the above two constructors.

One of the above four listed constructors can be called depending on our requirements.

Examples of Implementing Timer in Java

Below is the example of Timer in Java:

Example #1

To start things, let us see a basic example of Timer class. In this example, we will demonstrate the use of the schedule method of the Timer class.

Code:

package com.edubca.timer;
import java.util.Timer;
import java.util.TimerTask;
class TimerHelper extends TimerTask
{
public static int counter = 0;
public void run()
{
counter++;
System.out.println("Timer run Number " + counter);
}
}
public class Main
{
public static void main(String[] args)
{
Timer timer = new Timer();
TimerTask timerhelper = new TimerHelper();
timer.schedule(timerhelper, 3000, 2000);
}
}

Explanation of the above code: The above code will execute the run method for the first time after 3 seconds as the first argument is 3000, and after every 2 seconds, the run method will be executed regularly. Here is the output that will be displayed:

Output:

Pemasa di Jawa

Example #2

In this example, we will see how to terminate a timer thread after a given number of timer runs.

Code:

package com.edubca.timer;
import java.util.Timer;
import java.util.TimerTask;
class TimerHelper extends TimerTask
{
public static int counter = 0;
public void run()
{
counter++;
if(counter ==3){
this.cancel();
System.out.println("Now Cancelling Thread!!!!!");
return;
}
System.out.println("Timer run Number " + counter);
}
}
public class Demo
{
public static void main(String[] args)
{
Timer timer = new Timer();
TimerTask helper = new TimerHelper();
helper.schedule(task, 3000, 2000);
}
}

In the above example, the timer will cancel after the three times run method is called using the timer class’s cancel method.

Output:

Pemasa di Jawa

Atas ialah kandungan terperinci Pemasa di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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
Artikel sebelumnya:Zaman JawaArtikel seterusnya:Zaman Jawa