Thread.sleep avec Duration
Utilisez Duration pour des valeurs temporelles auto-documentées.
Comparaison de Code
✕ Java 8
// What unit is 5000? ms? us? Thread.sleep(5000); // 2.5 seconds: math required Thread.sleep(2500);
✓ Java 19+
Thread.sleep(
Duration.ofSeconds(5)
);
Thread.sleep(
Duration.ofMillis(2500)
);
Un problème avec ce code ? Dites-le nous.
Pourquoi la méthode moderne gagne
Auto-documenté
Duration.ofSeconds(5) est sans ambiguïté.
Sûr en termes d'unités
Sans passer accidentellement des microsecondes comme des millisecondes.
Composable
Arithmétique avec Duration : plus(), multipliedBy(), etc.
Ancienne Approche
Millisecondes
Approche Moderne
Duration
Depuis JDK
19
Difficulté
Débutant
Support JDK
Thread.sleep avec Duration
Disponible
Disponible depuis JDK 19 (sept. 2022)
Comment ça fonctionne
Thread.sleep(Duration) rend l'unité de temps explicite. Plus besoin de deviner si 5000 signifie des millisecondes ou des microsecondes. Fonctionne avec Duration.ofSeconds, ofMillis, ofMinutes, etc.
Documentation Associée