Concurrency Başlangıç

Kendini belgeleyen zaman değerleri için Duration kullanın.

✕ 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)
);
Bu kodda bir sorun mu gördünüz? Bize bildirin.
📖

Kendini belgeleyen

Duration.ofSeconds(5) belirsizlik taşımaz.

🛡️

Birim güvenli

Mikrosaniyeyi yanlışlıkla milisaniye olarak geçirme olmaz.

🧩

Birleştirilebilir

Duration matematiği: plus(), multipliedBy() vb.

Eski Yaklaşım
Milisaniye
Modern Yaklaşım
Duration
JDK'dan itibaren
19
Zorluk
Başlangıç
Duration ile Thread.sleep
Mevcut

JDK 19'dan itibaren geniş çapta kullanılabilir (Eylül 2022)

Thread.sleep(Duration) zaman birimini açık hale getirir. 5000'in milisaniye mi yoksa mikrosaniye mi olduğunu artık tahmin etmeye gerek yok. Duration.ofSeconds, ofMillis, ofMinutes vb. ile çalışır.

Paylaş 𝕏 🦋 in