Java 스레드를 timer 및 timerTask와 동기화

java.util.timer  는 스케줄링에 사용할 수 있는 클래스입니다(java  scheduler) 나중에 실행할 스레드와 연결된 작업입니다. 작업은 한 번 또는 정기적으로 반복적으로 실행할 수 있습니다.

여러 스레드는 timer java.

java.util.TimerTaskRunnable입니다. TimerTask 타이머. timerwait and notify 메서드를 사용하여 프로세스를 예약합니다.

다음은 timer:

import java.awt.Toolkit; 
가져오기 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();
}
}
Output