Maison > Java > javaDidacticiel > Quelle est la manière la plus précise de mesurer le temps écoulé en Java ?

Quelle est la manière la plus précise de mesurer le temps écoulé en Java ?

DDD
Libérer: 2024-12-19 14:41:12
original
639 Les gens l'ont consulté

What's the Most Accurate Way to Measure Elapsed Time in Java?

Mesure du temps écoulé en Java

Pour mesurer le temps écoulé en Java, plusieurs méthodes sont disponibles. Cependant, l'approche la plus précise et la plus efficace consiste à utiliser la méthode System.nanoTime().

Contrairement à la croyance populaire, System.currentTimeMillis() n'est pas adapté pour mesurer le temps écoulé, car il s'appuie sur une horloge murale. temps, qui est sujet à des dérives et à des corrections manuelles.

System.nanoTime(), en revanche, est conçu spécifiquement pour mesurer le temps écoulé et n'est pas affecté par réglages de l'horloge murale. Il fonctionne avec une granularité beaucoup plus fine, généralement en microsecondes ou en nanosecondes.

Pour illustrer son utilisation, considérons la classe suivante :

public class Stream {
    private long startTime;
    private long endTime;

    public void setStartTime() {
        startTime = System.nanoTime();
    }

    public void setEndTime() {
        endTime = System.nanoTime();
    }

    public long getDuration() {
        return endTime - startTime;
    }
}
Copier après la connexion

En appelant les méthodes setStartTime() et setEndTime() dans les blocs de code pertinents, vous pouvez capturer les horodatages. Par la suite, l'appel de getDuration() calculera avec précision le temps écoulé du début à la fin en nanosecondes, qui peut être facilement converti dans l'unité appropriée (par exemple, millisecondes, secondes ou minutes).

Rappelez-vous, while System.nanoTime() offre un timing de haute précision, ses résultats peuvent également être affectés par des facteurs tels que le système d'exploitation, le matériel et d'autres processus exécutés simultanément.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal