Rumah >Java >javaTutorial >Bagaimana untuk Melaksanakan Kelewatan Tepat di Jawa?

Bagaimana untuk Melaksanakan Kelewatan Tepat di Jawa?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-15 01:21:12426semak imbas

How to Implement Precise Delays in Java?

Pelaksanaan Kelewatan Java

Di Java, membuat kelewatan untuk tempoh tertentu adalah penting dalam pelbagai senario. Artikel ini meneroka teknik untuk melaksanakan kelewatan dan implikasinya.

Coretan kod yang disediakan menggunakan gelung sementara untuk lelaran melalui tatasusunan, memilih dan menyahpilih elemen dengan kelewatan yang dimaksudkan antara setiap tindakan. Untuk mencapai matlamat ini, platform Java menawarkan beberapa pilihan:

java.util.concurrent.TimeUnit Sleep

Kelas TimeUnit menyediakan kaedah seperti SECONDS.sleep(1) hingga jeda pelaksanaan untuk tempoh tertentu. Walau bagaimanapun, pendekatan ini memperkenalkan drift, kerana setiap pelaksanaan mempunyai sedikit variasi masa.

ScheduledExecutorService

Untuk lebih fleksibiliti dan kawalan yang tepat, ScheduledExecutorService ialah pilihan yang lebih baik. Ia menyokong kaedah scheduleAtFixedRate dan scheduleWithFixedDelay untuk melaksanakan tugas secara berkala pada selang masa yang telah ditetapkan.

Contoh Pelaksanaan

Untuk menjalankan tugas setiap saat menggunakan ScheduledExecutorService (Java 8):

ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.scheduleAtFixedRate(App::myTask, 0, 1, TimeUnit.SECONDS);

Implementasi Java 7

ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.scheduleAtFixedRate(new Runnable() {
    @Override
    public void run() {
        myTask();
    }
}, 0, 1, TimeUnit.SECONDS);

Kaedah ini memastikan bahawa tugasan dilaksanakan pada selang masa yang tepat, mengelakkan isu drift.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Kelewatan Tepat 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