>Java >java지도 시간 >JAVA에서 타이머 사용

JAVA에서 타이머 사용

高洛峰
高洛峰원래의
2016-12-16 11:58:381219검색

JAVA에서 타이머 기능을 구현하는 데 사용되는 두 가지 클래스는 Timer와 TimerTask입니다.
Timer 클래스는 작업을 실행하는 데 사용되는 클래스로 TimerTask를 매개 변수로 받습니다.
Timer에는 작업을 실행하는 두 가지 모드가 있습니다. , 가장 일반적으로 사용되는 것은 두 가지 방법으로 작업을 실행할 수 있는 일정입니다. 1: 특정 시간(데이터), 2: 특정 고정 시간 후(int 지연) 두 방법 모두 작업 실행 빈도를 지정할 수 있습니다. 두 가지 예, 하나는 간단한
이고 다른 하나는 내부 클래스
를 사용하는 것입니다. 1. 간단한 예

먼저 클래스

를 작성합니다. public class TimeTest {
public static void main(String[] args) {

 Timer 타이머 = new Timer();
 timer.schedule(new MyTask(),1000,2000);
}

그런 다음
public class MyTask extends TimerTask{

@Override
public void run() {
System.out.println("Start running") 🎜> }
}

이런 식으로 간단한 타이머를 완성할 수도 있지만, 이 두 클래스를 하나의 클래스로 작성하는 또 다른 방법이 있는데, 바로 내부 클래스

2. >
public class SerchRun {

protected static void startRun(){
타이머 타이머 = new Timer();
TimerTask 작업 =new TimerTask() {
                                                                                                               사용   사용   사용   사용 사용               사용 사용           통해 통해 통해 통해 통해 ' 통해 통해 ' 통해 ' 통해 ' ‐ ‐‐‐ ‐under };                                                                                           scheduleAtFixedRate (작업, new Date(),2000) //시작 현재 시간에 2초마다 다시 시작
// 타이머.scheduleAtFixedRate(task, 1000,2000) // 매번 1초 후에 시작 2 초 후에 다시 시작
}

public static void main(String[] args) {
SerchRun.startRun();
}
}



schedule과 ScheduleAtFixedRate의 차이점은 지정된 시작이 실행 시간이 현재 시스템 실행 시간보다 이전인 경우, ScheduleAtFixedRate는 경과 시간도 기간으로 실행하지만, Schedule은 경과 시간을 계산하지 않습니다.

예:

SimpleDateFormat fTime = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

Date d1 = fTime.parse("2005/12/ 30 14:10:00");

t.scheduleAtFixedRate(new TimerTask(){

public void run()

{

System.out.println("이것은 당신이 할 작업입니다 do6 ");
}
},d1,3*60*1000);

간격은 3분, 지정 시작 시간은 2005/12/30 14:10:00 입니다. . I 이 프로그램을 14:17:00에 실행하면 즉시 3번 인쇄됩니다.

This is task you do6 //14:10
this is task you do6 //14: 13
이것은 당신이 수행하는 작업입니다6 //14:16

그리고 다음 실행은 14:20이 아닌 14:19에 있습니다. 즉, 타이밍은 실행 시간이 아닌 지정된 시작 시간부터 시작됩니다.

그러나 위에서 스케줄 방식을 사용하면 간격은 3분이고 지정된 시작 시간은 2005/12/30 14:10:00이므로 프로그램이 14:17:00에 실행되면 , 프로그램이 즉시 한 번 실행됩니다. 그리고 다음 실행 시간은 14:10(14:19)부터 시작하는 기간이 아닌 14:20입니다.

JAVA에서 타이머 사용과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!


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