Implémentation du délai Java
En Java, la création d'un délai pour une durée spécifiée est essentielle dans divers scénarios. Cet article explore les techniques d'implémentation des retards et leurs implications.
L'extrait de code fourni utilise une boucle while pour parcourir un tableau, en sélectionnant et en désélectionnant les éléments avec les délais prévus entre chaque action. Pour y parvenir, la plateforme Java propose plusieurs options :
java.util.concurrent.TimeUnit Sleep
La classe TimeUnit fournit des méthodes comme SECONDS.sleep(1) pour suspendre l'exécution pendant une durée spécifique. Cependant, cette approche introduit une dérive, car chaque exécution présente de légères variations temporelles.
ScheduledExecutorService
Pour plus de flexibilité et un contrôle précis, le ScheduledExecutorService est un meilleur choix. Il prend en charge les méthodes ScheduleAtFixedRate et ScheduleWithFixedDelay pour exécuter des tâches périodiquement à des intervalles prédéfinis.
Exemple d'implémentation
Pour exécuter une tâche toutes les secondes à l'aide de ScheduledExecutorService (Java 8) :
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); executorService.scheduleAtFixedRate(App::myTask, 0, 1, TimeUnit.SECONDS);
Java 7 Mise en œuvre
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); executorService.scheduleAtFixedRate(new Runnable() { @Override public void run() { myTask(); } }, 0, 1, TimeUnit.SECONDS);
Cette méthode garantit que la tâche s'exécute à des intervalles précis, évitant ainsi les problèmes de dérive.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!