Duration সহ Thread.sleep
স্ব-ডকুমেন্টিং (self-documenting) টাইম ভ্যালুর জন্য Duration ব্যবহার করুন।
কোড তুলনা
✕ 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)
);
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
কেন আধুনিক পদ্ধতি ভালো
স্ব-ডকুমেন্টিং (Self-documenting)
Duration.ofSeconds(5) মেথডটি দ্ব্যর্থহীন (unambiguous)।
ইউনিট-সেফ (Unit-safe)
ভুলবশত মাইক্রোসেকেন্ডকে মিলিসেকেন্ড হিসেবে পাস করার ঝুঁকি থাকে না।
কম্পোজেবল (Composable)
Duration ম্যাথ ব্যবহার করা যায়, যেমন plus(), multipliedBy() ইত্যাদি।
পুরনো পদ্ধতি
মিলিসেকেন্ড
আধুনিক পদ্ধতি
Duration
JDK থেকে
19
কঠিনতা
প্রাথমিক
JDK সমর্থন
Duration সহ Thread.sleep
উপলব্ধ
JDK 19 (সেপ্টেম্বর 2022) থেকে ব্যাপকভাবে উপলব্ধ
কীভাবে কাজ করে
Thread.sleep(Duration) মেথডটি টাইমের ইউনিটকে সুস্পষ্ট করে তোলে। এর ফলে 5000 বলতে মিলিসেকেন্ড নাকি মাইক্রোসেকেন্ড বোঝানো হয়েছে, তা নিয়ে কোনো অনুমান করার প্রয়োজন হয় না। এটি Duration.ofSeconds, ofMillis, ofMinutes ইত্যাদির সাথে কাজ করে।
সম্পর্কিত ডকুমেন্টেশন
প্রমাণ