Java 스레드를 timer 및 timerTask와 동기화
java.util.timer 는 스케줄링에 사용할 수 있는 클래스입니다(java scheduler) 나중에 실행할 스레드와 연결된 작업입니다. 작업은 한 번 또는 정기적으로 반복적으로 실행할 수 있습니다.여러 스레드는 timer java.
java.util.TimerTask 는 Runnable입니다. TimerTask 타이머. timer은 wait and notify 메서드를 사용하여 프로세스를 예약합니다.
다음은 timer:
import java.awt.Toolkit;Output
가져오기 java.util.Date;
import java.util.Timer입니다.
import java.util.TimerTask를 사용합니다.
public class TimerTask{
정적 툴킷 툴킷;
공개 TimerTask(){
toolkit = Toolkit.getDefaultToolkit();
타이머태스크 timerTask = new executetask();
//timertask를 deamon
타이머 타이머 = new Timer(true);
//미리 정의된 time에서 향후 실행을 위해 작업을 제거합니다
timer.schedule(timerTask, 0, 1*1000);
System.out.println("TimerTask 시작됨");
//10초 후 취소
{
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
timer.cancel();
System.out.println("TimerTask 중지됨");
}
class executetask extends TimerTask {
@Override
public void run() {
System.out.println("시작: "+new Date());
{
//2초 만에 작업 완료
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
toolkit.beep();
System.out.println("마침: "+new Date());
}
}
public static void main(String args[]){
new TimerTask();
}
}

이것은 작업 관리자의 간단한 예입니다. 타이머가 시작됩니다 과제 1초(1000밀리초)마다 반복적으로 고정된 간격으로 이동합니다. schedule() 인수로 사용합니다.
- La 과제 주문할 시간.
- 과제 실행됩니다. 밀리초 단위.
- 의 연속 실행 사이의 시간 작업 또는 실행 빈도(밀리초).
Timer.cancel()은 타이머와 모든 타이머를 취소합니다. 작업 대기열에서. 완료되면 데몬 스레드도 종료됩니다.
References:
Oracle: Timer class
Oracle: timerTask 클래스
java2s:툴킷 경고음
javapoint: 데몬 스레드