J'ai besoin d'un moyen de mettre en pause/mettre en veille un thread d'une manière indépendante de l'horloge système. Ce qui veut dire que si je veux affaiblir un thread en dT msec, il doit le faire aussi si l'heure du système change de manière significative pendant ce temps. Je ne suis pas tellement intéressé par la précision des msecs et plus en principe que cela fonctionnera. Les TimerTasks ne sont pas une option puisqu'ils fonctionnent en temps absolu.Horloge système Java Programmation indépendante/mise en pause
Répondre
Je ne sais pas si j'ai bien compris votre question. Si vous avez besoin d'un planificateur de tâches, Quartz est plutôt bon. Si vous voulez réellement mettre en pause un thread arbitraire pendant x fois, cela peut être un peu plus compliqué.
Tricky .... il est difficile de savoir si l'horloge système est même utilisé pour toute stratégie donnée. Cependant, vous évitez l'horloge parce que l'heure peut être modifiée pendant la pause du thread, mais System.nanoTime() est indépendant de l'heure actuelle car il est purement le nombre de nanosecondes depuis le démarrage de la JVM. Par conséquent, si la stratégie de pause utilise des nanos, on peut supposer que les périodes de pause conserveront leur précision grâce aux changements d'heure de l'horloge du système. Peut-être Thread.join (0, nanos) appelé dans une boucle:
public static void pause(long ms) throws InterruptedException {
long final ZERO = 0L;
int final MAX_NANOS = 999999;
for(int i = 0; i < ms+1; i++) {
Thread.currentThread().join(ZERO, MAX_NANOS);
}
}
Je n'ai pas testé avec des changements d'horloge du système, mais il semble fonctionner dans un écart 0,004% de.
- 1. système de programmation MapReduce en java-actionscript
- 2. Android programmation - dessin horloge analogique
- 3. horloge système Fake certaine date
- 4. La programmation du système peut-elle être effectuée en JAVA?
- 5. Pause de téléchargement en Java?
- 6. Pause d'un thème en Java?
- 7. Programmation de socket en Java
- 8. horloge numérique
- 9. Programmation simultanée en Java
- 10. Programmation Windows en Java?
- 11. Programmation en Java bytecode
- 12. Socket Programmation en Java
- 13. programmation d'erreur en java
- 14. horloge numérique en android
- 15. Horloge en Javascript
- 16. Programmation système avec php
- 17. Java - Lecture/Pause VLC
- 18. Entrée Java sans pause
- 19. pause mp3 dans java
- 20. Android/Java - pause thread
- 21. Comment faire une pause dans iOS Programmation
- 22. Programmation sur un système en temps réel
- 23. Programmation système - Fourche() Méthode
- 24. Windows Programmation du système
- 25. Horloge côté client utilisant l'heure système côté serveur
- 26. document.getElementById (« horloge ») est nul
- 27. Système d'exploitation en Java
- 28. Système ("pause") Provoque une corruption du tas
- 29. Où est le gestionnaire d'appel système pour l'appel système pause()?
- 30. iPhone App horloge système et sommeil nombre de tics indépendants
sommeil est vraiment le temps indépendant du système :) – Patrick