>  기사  >  Java  >  JDK 타이머 타이머 사용법

JDK 타이머 타이머 사용법

PHP中文网
PHP中文网원래의
2017-06-28 10:34:111535검색

타이머에 의해 실행될 작업 구현 및 예약
1) TimerTask의 사용자 정의 하위 클래스를 구현합니다. 실행 메소드에는 작업을 수행하는 코드가 포함되어 있습니다.
클래스 RemindTask는 Timertask {
public void run () {
system.out.println ( "Time Up!");
system.exit (0);
}}}를 확장합니다.
2) Timer 클래스를 인스턴스화하여 스레드 생성
    타이머 타이머 = new 타이머();
3) 타이머 작업 객체 인스턴스화(new RemindTask())
    RemindTask task = new RemindTask();
4) 타이머 작업 예약
  (1) 특별한 밀리초 지연 후에 작업을 실행합니다.
    타이머.schedule(task,5*1000);
  (2) 작업이 실행될 시간을 지정합니다.
    //11:01에 작업을 실행합니다. p.m
    캘린더 Calendar = Calendar.getInstance();
    Calendar.set(Calendar.HOUR_OF_DAY,23);
    Calendar.set(Calendar.MINUTE,1);
    Calendar.set(Calendar.SECOND,0);
    날짜 시간 = Calendar.getTime();

    타이머.schedule(task,time);

타이머 스레드 중지
  기본적으로 프로그램은 타이머 스레드가 실행되는 동안 계속 실행됩니다. 타이머 스레드를 종료하는 방법에는 네 가지가 있습니다
1) 타이머에서 취소를 호출합니다.(timer.cancel())
2) 다음과 같이 타이머를 생성하여 타이머 스레드를 데몬(后台)으로 만듭니다. new Timer(true) . 프로그램에 남은 유일한 스레드가 데몬 스레드인 경우 프로그램이 종료됩니다.
  3) 모든 타이머 예약 작업의 실행이 완료된 후 Timer 개체에 대한 모든 참조를 제거합니다. 타이머 스레드가 종료됩니다.
4) 전체 프로그램과 모든 스레드가 종료되도록 하는 System.exit 메서드를 호출합니다.

작업을 반복적으로 수행
작업을 반복적으로 수행하는 타이머 방법에는 네 가지가 있습니다
  * Schedule(TimerTask 작업, 긴 지연, 긴 기간)
    지정된 지연 이후부터 반복되는 고정 지연 실행을 위해 지정된 작업을 예약합니다. 후속 실행은 지정된 기간으로 구분된 대략 일정한 간격으로 발생합니다. ,3 *1000,1*1000)
    RemindTask任务将会在3秒后执行,以后将会以1秒的间隔重复执行

  * 일정(TimerTask 작업, 날짜 시간, 장기)
    执중행复的任务,第一次재특정 时间执行,往后的以特customable 时间间隔执行

  * ScheduleAtFixedRate(TimerTask task, long Delay, long period)
    지정된 지연 이후부터 반복되는 고정 속도 실행을 위해 지정된 작업을 예약합니다. 후속 실행은 지정된 기간으로 구분된 대략 일정한 간격으로 발생합니다.
   
    temer.scheduleAtFixedRate( new RemindTask(),3*1000,1*1000)
  * ScheduleAtFixedRate(TimerTask task, Date firstTime, long period)
   隔执行

  일정과 일정AtFixedRate에 따라 일정이 결정됩니다.会相对延时;而scheduleAtFixedRate是以绝对的时间间隔执行,如果某一次执行被延时,它的后一次执行的延时将会缩短。


위 내용은 JDK 타이머 타이머 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.