NanoTime, ou une erreur de jeunesse

Pourquoi faut-il faire attention lorsqu'on utilise la méthode nanoTime de l'API Java (System.nanoTime() ) ?

Car le résultat n'est qu'un écart (en nanosecondes) entre maintenant et un point du temps variable !

Ce point de "départ" dépend de chaque instance de la JVM : Donc vous pouvez obtenir des résultats très variables en cluster ou suite à un redémarrage par exemple. Autre cas - un changement de version des VMWARE Tools...

Il ne faut donc JAMAIS se servir du System.nanoTime() comme numéro de séquence, ou comme clé de tri.

Un commentaire

  1. Hmmm, et même se servir de System.currentTimeMillis() comme numéro de séquence me parait tout aussi hasardeux. A éviter…

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.