Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Melaksanakan Kelewatan dan Jeda Tepat dalam Java While Loops?
Melaksanakan Kelewatan dalam Java
Di Java, terdapat beberapa cara untuk memperkenalkan kelewatan atau jeda dalam program. Untuk menangani keperluan untuk fungsi ini dalam gelung sementara, di mana anda memerlukan masa menunggu tertentu, mari kita terokai pilihan yang tersedia dan kelebihan masing-masing.
1. Menggunakan TimeUnit
Untuk keperluan menunggu yang mudah, java.util.concurrent.TimeUnit menyediakan kaedah khusus. Anda boleh menentukan unit masa dan tempoh yang dikehendaki, seperti TimeUnit.SECONDS.sleep(1) untuk berhenti seketika. Begitu juga, anda boleh menggunakan TimeUnit.MINUTES.sleep(1) untuk kelewatan satu minit.
2. ScheduledExecutorService dengan scheduleAtFixedRate/scheduleWithFixedDelay
Untuk kelewatan yang lebih tepat dan boleh dikonfigurasikan, pertimbangkan untuk menggunakan ScheduledExecutorService. Kaedah scheduleAtFixedRate() membolehkan anda melaksanakan tugas pada selang waktu tertentu, tanpa mengira pelaksanaan yang lalu. scheduleWithFixedDelay(), sebaliknya, memperkenalkan kelewatan berdasarkan masa penyiapan tugasan sebelumnya.
Sebagai contoh, untuk menjalankan tugas setiap saat menggunakan ScheduledExecutorService, anda boleh menggunakan kod berikut:
import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; public class DelayExample { public static void main(String[] args) { ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); executorService.scheduleAtFixedRate(App::myTask, 0, 1, TimeUnit.SECONDS); } private static void myTask() { System.out.println("Running"); } }
. Pertimbangan Drift dan Fleksibiliti
Walaupun TimeUnit.sleep() kelihatan mudah, ia boleh memperkenalkan drift dari semasa ke semasa, kerana pelaksanaan sebenar dan tempoh tidur mungkin berbeza sedikit. Selain itu, ia tidak mempunyai fleksibiliti dari segi mengawal masa tugasan yang tepat.
. Alternatif Disyorkan untuk Penjadualan Tepat
Untuk kelewatan yang lebih tepat dan terkawal, ScheduledExecutorService amat dinasihatkan. Ia membolehkan penjadualan yang tepat, pada kadar tetap dan dengan kelewatan tetap, menjadikannya lebih sesuai untuk senario di mana ketepatan masa adalah penting.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Kelewatan dan Jeda Tepat dalam Java While Loops?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!