ব্যবহার java.util.concurrent.TimeUnit:
TimeUnit.SECONDS.sleep(1);
এক সেকেন্ডের জন্য ঘুমাও বা
TimeUnit.MINUTES.sleep(1);
এক মিনিট ঘুমোও।
যেহেতু এটি একটি লুপ, এটি একটি অন্তর্নিহিত সমস্যা উপস্থাপন করে - প্রবাহিত। যতবার আপনি কোড চালান এবং তারপরে ঘুমান আপনি প্রতি সেকেন্ডে চলমান থেকে কিছুটা সরে যাবেন, বলুন। এটি যদি কোনও সমস্যা হয় তবে ব্যবহার করবেন না sleep।
এছাড়াও, sleepএটি নিয়ন্ত্রণের ক্ষেত্রে খুব নমনীয় নয়।
প্রতি সেকেন্ডে কোনও কাজ চালানোর জন্য বা এক সেকেন্ড দেরিতে আমি জোরালোভাবে একটি [ ScheduledExecutorService] [1] এবং হয় [ scheduleAtFixedRate] [2] বা [scheduleWithFixedDelay ] [3] এর সুপারিশ করব।
myTaskপ্রতি সেকেন্ডে পদ্ধতিটি চালানোর জন্য (জাভা 8):
public static void main(String[] args) {
final ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.scheduleAtFixedRate(App::myTask, 0, 1, TimeUnit.SECONDS);
}
private static void myTask() {
System.out.println("Running");
}