2012-04-08 4 views
2

내 프로그램이 일정 기간 동안 실행되는 것으로 가정합니다. 어떻게 프로그램을 실행 만 30 분 동안 프로그램 실행 시작 시간에서 말하는 Java에서 타이머를 유지할 수 있습니다.자바로 타이머 유지하기

답변

2

(아마 주요 방법)이 시도 : 당신은 1.5 이상, 내가 실행 프로그램 프레임 워크를 사용하는 것이 좋습니다 자바 버전을 사용하는 경우

Timer t = new Timer(); 
t.schedule(new TimerTask() { 
    @Override 
    public void run() { 
    System.exit(0); 
    } 
}, 30*60000); 
+0

감사합니다. 이것은 작동하지만 경과 시간과 함께 다른 수표를 수행해야하므로 실제 시작 시간이 경과해야합니다. 다른 조건과 경과 시간이 지정된 분보다 큰 경우 프로그램을 종료 할 수 있습니다. –

+2

프로그램 시작시'startTime = System.currentTimeMillis()'를 실행하여 프로그램의 시작 시간을 저장할 수 있습니다. 프로그램 실행 시간을 확인하려면'(System.currentTimeMillis() - startTime)/60000'을 입력하십시오. – Richante

+0

프로그램 종료 여부를 매 순간 확인하려면 위의 코드를 수정할 수 있습니다 - 바꾸기 '600 * 60000'을'60000, 60000' (매분 반복 작업)하고'run()'에'if' 문을 써서 주석문에서 제공 한 조건을 검사합니다. 'startTime'은't'와 같은 범위에있는'final long'이어야합니다. – Richante

3

java.util.Timer을 사용하면 프로그램을 중지해야하는 시간을 예약 할 수 있습니다. 그 때가되면, 당신은 메인 쓰레드와 통신 할 필요가 있습니다. (단지 System.exit으로 전화하기를 원하지 않는다면) 프로그램이 멈추도록해야합니다.

+0

감사합니다. 이것은 작동하지만 경과 시간과 함께 다른 점검을 수행해야하므로 시작 시간부터 전달 된 실제 분 수를 계산합니다. 다른 조건 및 경과 시간이 지정된 분보다 큰 경우 프로그램을 종료 할 수 있습니다. –