Java에서 지연 생성
Java에서는 다양한 방법을 통해 지연을 도입할 수 있습니다. 루프 내에서 고정된 간격 지연을 목표로 하는 경우 java.util.concurrent.TimeUnit은 절전 방법을 제공합니다. 지정된 초 동안 일시 중지하려면 TimeUnit.SECONDS.sleep(1);을 사용할 수 있습니다. 그러나 이 접근 방식은 드리프트라는 잠재적인 문제를 제기하며, 이는 각 주기마다 의도한 지연에서 벗어나게 합니다.
유연한 제어 및 작업 예약을 위해서는 ScheduledExecutorService가 더 적합한 솔루션으로 떠오릅니다. ScheduleAtFixedRate 및 ScheduleWithFixedDelay 메소드를 사용하면 지정된 지연 간격에 따라 정확한 작업 실행이 가능합니다.
Java 8에서 ScheduleAtFixedRate를 사용하여 매초마다 myTask를 실행하려면:
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"); }
Java 7 호환성의 경우:
public static void main(String[] args) { final ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); executorService.scheduleAtFixedRate(new Runnable() { @Override public void run() { myTask(); } }, 0, 1, TimeUnit.SECONDS); } private static void myTask() { System.out.println("Running"); }
위 내용은 Java에서 지연 및 예약을 가장 잘 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!