Nous devons garder un œil sur l'horloge du PC à partir d'un programme Java. Pour cela, nous programmons un Runnable en utilisant scheduleAtFixedRate() toutes les 500 ms. Nous appelons System.currentTimeMillis() à chaque fois. Si nous voyons qu'il y a une plus grande différence que 500 ms + - un certain delta permis, alors nous supposons que l'horloge a changé (alors nous devons faire autre chose).Quelle est la précision de scheduleAtFixedRate?
Serait-ce une façon correcte de faire les choses? Les tests sur Linux montrent qu'un delta de 50 ms est suffisant pendant le fonctionnement normal. Sur windows, il faut l'augmenter aussi de 100 ms, sinon, on se dit que le temps a changé à chaque vérification.
D'autres idées sur comment faire cela?
Merci pour le lien, mais le commentaire dans la question liée indique déjà qu'il est une implémentation naïve. –