Concurrency Principiante

Usa Duration per valori di tempo auto-documentanti.

✕ 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)
);
Vedi un problema con questo codice? Faccelo sapere.
📖

Auto-documentante

Duration.ofSeconds(5) è inequivocabile.

🛡️

Sicuro per unità

Nessun rischio di passare accidentalmente microsecondi come millisecondi.

🧩

Componibile

Aritmetica Duration: plus(), multipliedBy(), ecc.

Approccio Vecchio
Millisecondi
Approccio Moderno
Duration
Dal JDK
19
Difficoltà
Principiante
Thread.sleep con Duration
Disponibile

Ampiamente disponibile dal JDK 19 (settembre 2022)

Thread.sleep(Duration) rende l'unità di tempo esplicita. Non serve più indovinare se 5000 significa millisecondi o microsecondi. Funziona con Duration.ofSeconds, ofMillis, ofMinutes, ecc.

Condividi 𝕏 🦋 in