을 계속대기가 시작 JAVA 응용 프로그램을 계속 내가 작성한 클래스를 응용 프로그램
클래스 코드는 아래에 제시된, 내가 궁금한 점은 바로 이것이 올바른 방법인가? 그것은 우아한 솔루션처럼 보이지 않습니다. 이렇게 실행을 차단하고 인스턴스를 반복해서 가져 오는 것입니다.
public class Synchronizer{
private static Calendar c;
public static void timeInSync(){
do{
c = Calendar.getInstance();
}
while(c.get(Calendar.SECOND) % 5 != 0);
}
}
Synchronizer.timeInSync()가 다른 클래스의 생성자에서 호출하고 해당 클래스의 인스턴스는 main 메소드의 시작 부분에 생성됩니다. 그런 다음 응용 프로그램은 매 5 초마다 호출되는 TimerTask로 영원히 실행됩니다.
시간을 동기화하는 더 깨끗한 해결책이 있습니까?
업데이트 :
나는 명확하게 명시되지 않았다고 생각하지만 내가 여기 찾고 있어요 것은 바쁜 대기를하지 않고 시스템 시간과 동기하는 것입니다.
그래서 내가 @ChrisK에서 알 수 있듯이
12:19:00
12:19:05
12:19:10
...
System.currentTimeMillis에 익숙합니까? –
그 대신에 [Timer] (http://docs.oracle.com/javase/7/docs/api/java/util/Timer.html)를 사용할 수도 있습니다. – Compass
더 명확한 질문을 위해 질문을 업데이트했지만 Durandal의 해답은 나에게 매우 만족 스럽습니다. – ickarsim