Mesurer le temps écoulé en Java
En Java, mesurer le temps écoulé avec précision nécessite de comprendre la distinction entre le temps écoulé et l'heure de l'horloge murale. Bien que de nombreuses réponses suggèrent d'utiliser System.currentTimeMillis(), il est crucial de noter qu'il mesure l'heure de l'horloge murale, qui peut être affectée par les corrections d'horloge.
Pour mesurer correctement le temps écoulé, System.nanoTime() doit être utilisé. Cette API est spécialement conçue pour quantifier le temps écoulé et n'est pas affectée par les corrections d'horloge. Par conséquent, il fournit des lectures plus précises que System.currentTimeMillis().
En ce qui concerne votre exemple de code, pour capturer la durée écoulée entre startTime et endTime, vous pouvez utiliser l'approche suivante :
public class Stream { private long startTime; private long endTime; public void start() { startTime = System.nanoTime(); } public void end() { endTime = System.nanoTime(); } public long getDuration() { return (endTime - startTime); } }
Dans cet exemple, vous pouvez modifier les valeurs startTime et endTime dans les méthodes start() et end() lorsque vous souhaitez commencer et terminer votre mesure du temps. La méthode getDuration() renvoie le temps écoulé en nanosecondes, qui peut être converti en d'autres unités si vous le souhaitez.
N'oubliez pas que pour une mesure précise du temps écoulé, il est essentiel d'utiliser System.nanoTime() et d'éviter de vous fier à System.currentTimeMillis(), qui est sensible aux corrections d'horloge.
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!