Quelle est la manière la plus simple d'avoir un morceau de code Java programmé à un débit donné?Java Thread toutes les X secondes
Répondre
En Java 5+ avec un ScheduledExecutorService
:
ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();
exec.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
// do stuff
}
}, 0, 5, TimeUnit.SECONDS);
La méthode ci-dessus est favorisée. Avant Java 5 vous avez utilisé Timer
et TimerTask
:
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// do staff
}
}, 0, 5000);
En utilisant un ScheduledExecutorService.
Jetez un oeil à Executors.newScheduledThreadPool
. Il vous permettra de créer un ScheduledExecutorService
qui vous permet de soumettre Runnable
s à exécuter à intervalles réguliers.
while (true) {
thread.sleep(1000)
method();
}
Dans de nombreux cas, il y aura de meilleures alternatives. Mais c'est le moyen le plus simple d'implémenter une exécution régulière de votre méthode() à un intervalle de 1000ms + n (où n est le temps passé à exécuter method())
Bien sûr, au lieu de 1000, vous pouvez mettre toute valeur en millisecondes que vous désirez. Il pourrait aussi être une idée d'implémenter la boucle while sur un drapeau contrôlé par un autre thread; de sorte qu'il existe un moyen d'arrêter l'exécution de la boucle sans avoir à tuer le programme.
presque - ce sera au moins 1000. Cela dépend quand le planificateur de thread décide de recommencer à exécuter le thread. Ce sera 1000 + a + n (où a est le temps qu'il faut au planificateur pour activer à nouveau le thread) – RNJ
utilisation ci-dessous le code:
Timer timer = new Timer();
timer.schedule(new TimerTask()
{
public void run() {
// do your work
}
}, 0, 60*(1000*1));
- 1. iPhone - observateur/toutes les x secondes
- 2. Java - repeindre le composant toutes les secondes?
- 3. Recharger les données AJAX toutes les X minutes/secondes, jQuery
- 4. Comment recharger un IFrame toutes les x secondes?
- 5. Comment actualiser le navigateur toutes les X secondes avec javascript?
- 6. exécuter une fonction toutes les x secondes en C++
- 7. Fonction Javascript pour recharger une page toutes les X secondes?
- 8. Modifier l'attribut toutes les secondes
- 9. ACTION_TIME_TICK diffusé toutes les secondes?
- 10. changement d'image toutes les 30 secondes - boucle
- 11. Quelle est l'expression Cron correspondante à tirer toutes les X secondes, où X> 60?
- 12. Quelle est la meilleure façon d'appeler/démarrer un service Windows toutes les x secondes?
- 13. php dans les x secondes de l'heure
- 14. Comment suspendre le thread actuel pendant 20 secondes en Java?
- 15. Afficher quelque chose toutes les 3 secondes
- 16. jQuery Ajax demande toutes les 30 secondes
- 17. Incendie d'un événement toutes les secondes
- 18. Ajax Div Récupération toutes les 60 secondes
- 19. Appel d'une fonction toutes les 60 secondes
- 20. Comment afficher n éléments json toutes les x secondes en utilisant jquery?
- 21. faire défiler la liste, changer de style toutes les x secondes
- 22. jQuery comment faire se produire un événement toutes les x secondes?
- 23. Obtenir du contenu à partir d'un phpfile toutes les X secondes avec jquery?
- 24. Service WCF en file d'attente qui traite toutes les X secondes
- 25. comment mettre à jour les toutes les secondes dans jquery
- 26. Actualiser les données du tableau toutes les 5 secondes
- 27. Affichage de UIActivityIndicator pendant x secondes
- 28. Mise à jour HttpResponse toutes les quelques secondes
- 29. Comment obtenirDistance de userLocation toutes les 4-5 secondes
- 30. Cron Expression - Toutes les 5 secondes entre 7h et 20h ...?
si je ferme la fenêtre principale de l'application? cette tâche sera-t-elle toujours en cours? – Tomasz