Timer 및 TimerTask 클래스

1422 단어 timertask
Timer 클래스는 미래의 어느 때에 발생할 작업을 설정하는 데 도움을 줍니다. 중복된 이벤트도 포함합니다. 모든 Timer 대상은 그와 관련된 루트를 포함하고, TimerTask 대상 중 하나가 실행될 때 이 루트는 깨어납니다.
다음과 같은 세 가지 작업 스케줄링 방법이 있습니다.
  • 일회성 스케줄링(once-only): 임무를 한 번만 수행합니다.
  • 고정 시간 지연(fixed-delay): 한 번 임무를 완성한 후에 다음 시간 지연을 조정한다. 시간 지연은 고정이다
  • 고정속도 스케줄링(fixed-rate): 고정속도 스케줄링
  • 하나의 TimerTask 객체는 하나의 Timer 객체로만 스케줄링할 수 있으며 취소된 Timer는 새로운 작업을 스케줄링할 수 없습니다.
    예: TimerTask 클래스 생성
       
    import java.util.Date;
    import java.util.TimerTask;
    /**
     * TimerTask , run() 
     * */
    public class MemoryWatchTask extends TimerTask {
    	@Override
    	public void run() {
    		Runtime run = Runtime.getRuntime();
    		long free = run.freeMemory();
    		long total = run.totalMemory();
    		System.out.println(new Date()+"\t"+free+"\t"+total);
    	}
    
    }

    작업 클래스에 대해 정시 실행
    public static void main(String[] args) {
    		// true, new Timer(true);
    		Timer timer = new Timer();
    		
    		// 0 , 1 
    		timer.scheduleAtFixedRate(new MemoryWatchTask(), 0, 1000);
    		
    		// , 1 
    		//timer.scheduleAtFixedRate(new MemoryWatchTask(), new Date(), 1000);
    		
    		// 
    		//timer.schedule(new MemoryWatchTask(), new Date());
    		
    		// 3 
    		//timer.schedule(new MemoryWatchTask(), 3000);
    		
    	}

    좋은 웹페이지 즐겨찾기