Concurrency Principiante

Usa Duration para valores de tiempo autodocumentados.

✕ 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)
);
¿Ves un problema con este código? Cuéntanos.
📖

Autodocumentado

Duration.ofSeconds(5) es inequívoco.

🛡️

Seguro en unidades

Sin pasar accidentalmente microsegundos como milisegundos.

🧩

Componible

Aritmética con Duration: plus(), multipliedBy(), etc.

Enfoque Antiguo
Milisegundos
Enfoque Moderno
Duration
Desde JDK
19
Dificultad
Principiante
Thread.sleep con Duration
Disponible

Ampliamente disponible desde JDK 19 (sept. 2022)

Thread.sleep(Duration) hace explícita la unidad de tiempo. Ya no hay que adivinar si 5000 significa milisegundos o microsegundos. Funciona con Duration.ofSeconds, ofMillis, ofMinutes, etc.

Compartir 𝕏 🦋 in